winforms - 当 AxWindowsMediaPlayer 关闭时,出现 AccessViolation 异常

标签 winforms .net-3.5 activex windows-media-player wmp

我的表单上有一个 AxWMPLib.AxWindowsMediaPlayer。当我关闭表单时,我收到“尝试读取或写入 protected 内存。这通常表明其他内存已损坏。”异常(exception)。隐藏表单可以,但关闭则不行。当组件从表单中删除时,一切都很好。

这是 Winforms .Net3.5。

感谢任何帮助。

最佳答案

这发生在我身上,并且是在按键期间关闭表单时。

如果 WMP 控件有要处理的按键事件,似乎会出现问题。

Form.KeyPreview = True 的示例

Sub Form_KeyDown(e As KeyEventArgs)
 AxWindowsMediaPlayer1.Dispose()
End Sub

导致访问冲突。

Sub Form_KeyDown(e As KeyEventArgs)
 e.Handled = True
 AxWindowsMediaPlayer1.Dispose()
End Sub

彻底关闭,因为按键被阻止到达 WMP 控件。

关闭表单时会发生同样的事情,因为将释放控件。

关于winforms - 当 AxWindowsMediaPlayer 关闭时,出现 AccessViolation 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/685199/

相关文章:

c# - DataRepeater 控件内的 ComboBox 控件未正确填充数据库(MySQL 服务器)中的数据

c# - 如何从Button Click事件获取返回值?

c# - 如何在没有第三方库的情况下序列化对象+压缩然后解压+反序列化?

javascript - 使用 Javascript 检测主要插件(Java、Active-X、Flash)的存在

c++ - 找出名称修饰

c# - 自动调整 Windows 窗体控件的大小

c# - 两个并排且可拉伸(stretch)的列表框

.net - 从 CheckedListBox.Items 绑定(bind)启用属性 - Winforms

c# - 如何使用 RestSharp 访问 HTTP 请求体?

c# - 将 WinForms UserControl 公开为 ActiveX 控件