C # - определить, включены ли функции Windows (в частности, Windows Media Player) - PullRequest
0 голосов
/ 04 ноября 2019

некоторые функции окон являются необязательными, и пользователь может решить, хочет ли он / она отключить их или включить. Одним из них является компонент Windows Media Player (как описано здесь http://support.overwolf.com/knowledge-base/enabling-windows-media-player/)

Есть ли способ узнать в коде, установлен ли он в данный момент или нет? Спасибо за помощь!

1 Ответ

0 голосов
/ 05 ноября 2019

Я попытался сравнить ключи реестра с этими функциями и без них. Существует несколько ключей, которые могут быть одинаково адекватными для проверки. Это самые важные из них:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\wmplayer.exe
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\wmplayer.exe
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AMOVIE.ActiveMovie Control
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WMPlayer.OCX
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MediaPlayer.MediaPlayer

Таким образом, фактический код C # будет выглядеть так:

bool windowMediaPlayerAvailable = (Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Classes\MediaPlayer.MediaPlayer") != null);
...