Как заставить vlc.exe открыть wmplayer.exe с помощью regedit? т.е. когда и откуда я пытаюсь открыть Windows Media Player, он должен вместо этого открыть VLC
2 ответа
Вы можете теоретически сделать это с помощью ключа реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
Если вы создадите ключ "wmplayer.exe" в качестве подраздела, вы можете создать REG_SZ с именем "debugger" и указать любую программу, которая будет запускаться при каждом вызове wmplayer (подробности здесь)
Если вы используете путь к vlc palyer в качестве отладчика, он всегда будет запускаться вместо wmplayer.exe. Поскольку это не отладчик, wmplayer.exe не будет запущен, а передан vlc.exe, который не поймет его и выдаст ошибку. Чтобы предотвратить это, вы можете вместо этого использовать простой скрипт
Set wso = CreateObject("WScript.Shell")
wso.Run """C:\Program Files (x86)\VideoLAN\VLC\vlc.exe""", , False ' use your own path to the vlc executable
А в качестве отладчика укажите "wscript.exe <path to the script>"
Некоторые вещи, которые следует учитывать: это будет работать правильно только при прямом вызове wmplayer.exe. Все записи удаляются скриптом. Это включает в себя медиа-файлы, переданные в wmplayer. В сценарии вы также можете обрабатывать аргументы и передавать их в vlc. Основная проблема заключается в том, что сам wmplayer может иметь несколько командных строк помимо медиа-файла, поэтому вам придется исключить все, что относится к wmplayer, и включить весь смысл vlc, который выходит за рамки вашего вопроса.
Также обратите внимание, что это очень хакерский подход, который я бы никогда не использовал, если бы был какой-то другой способ решения вашей проблемы. На самом деле, я бы даже предпочел заменить исполняемый файл на мой собственный vlc portable exe или что-то в этом роде, но в этом вопрос отвечает, поэтому на него следует ответить.
Мне не совсем понятно, что вы хотите сделать, но
- Переименуйте
wmplayer.exe
вwmplayer_bak.exe
и - скопировать
vlc.exe
вwmplayer.exe
делай что хочешь?