如果安装Windows Media Player程序检测(Programmatically dete

2019-09-29 18:49发布

任何人对如何如果安装了Windows Media Player中以编程方式检测什么建议吗?

我知道的注册表设置查找,但因为它是不是有点误导(卸载可能无法删除它)更不信任它。 而且我认为刚刚推出了视频,但一个错误可能比没有安装媒体播放器以外的东西造成的,所以它要么是没有定论。

理想情况下,我宁愿这可能来自我的C ++应用程序,我使用的解决方案NSIS安装程序。 但是,我的C ++应用程序是最重要的,我愿意住在安装程序的注册表破解。

Answer 1:

看看IsInstalled下键值HKLM\Software\Microsoft\Active Setup\Installed Components\{22d6f312-b0f6-11d0-94ab-0080c74c7e95} 这是1如果已安装, 0 ,否则。

见从应用程序检测Windows媒体播放器 。



Answer 2:

(你不说,无论你是检查是否有嵌入(即OCX)的球员在你的应用程序或EXE从应用extenally推出嵌入。)

如何在您的应用程序检查HRESULT CoCreateInstance的上针对CLSID {22d6f312-b0f6-11d0-94ab-0080c74c7e95} /进程id “MediaPlayer.MediaPlayer.1”? (从CLSID的http://technet.microsoft.com/en-us/library/bb676121.aspx )

在您的安装只是检查HKEY_CLASSES_ROOT \ CLSID {22D6F312-B0F6-11D0-94AB-0080C74C7E95},或许也是在InprocServer32的子项存在的路径。



Answer 3:

如果卸载失败,除去两个EXE和注册表项,然后我很怀疑它卸载什么...

所以,我建议你检查下的注册表HKLM\Software\Microsoft\MediaPlayer\ ,如果它存在,抢的价值Installation DirectoryInstallation DirectoryLFN (默认为%ProgramFiles%\Windows Media Player ),并检查wmplayer.exe该目录中存在。 如果确实如此,那么你就会知道,安装WMP。



文章来源: Programmatically detect if Windows Media Player is installed