Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在写一个简单的音频播放应用程序,为了节省编解码器费用,所以我们使用WMP ActiveX播放所有音乐文件,但它需要为ActiveX创建一个窗口,并且创建ActiveX的线程应该有消息循环。我想知道是否有没有 ActiveX 和 Window 的 WMP 方法?提前致谢。
是的,您不必使用 ActiveX 控件。只需使用 Project + Add Reference,Browse 选项卡,选择 c:\windows\system32\wmp.dll
但是您确实需要一个使用 [STAThread] 或 Thread.SetApartmentState() 初始化的线程和一个消息循环 (Application.Run)。具有单线程单元要求的 COM 服务器(如 wmp.dll)需要。COM 使用消息循环来编组调用并生成事件。没有循环,服务器就会死锁。