2015-12-10 5 views
0

Я пытаюсь контролировать объем Spotify изнутри игры без переключения окон. Для этого я сделал следующее:Запустить партию молча по горячей клавише (разрешение разрешено?)

А. Найдено nircmd.exe из NirSoft, которые могут контролировать отдельные объемы программ в ОС Windows B. Написал партию, чтобы выполнить команду C. написал этот .vbs скрипт для крюк в партия молча:

Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run chr(34) & "Spotify App Volume Up.bat" & Chr(34), 0 
Set WshShell = Nothing 

^ Используя этот .vbs фрагмент кода для выполнения беззвучный бег очень популярен. Это работает, когда я сам нажимаю на .vbs. У меня проблема - мне нужен способ выполнить это из другой программы. Когда я пытаюсь выполнить из любой программы горячих клавиш или что-то вроде AutoHotKey это дает мне эту ошибку:

ActiveX компонент не может создать объект кода «» WScript.Shell: 800a01ad

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

EDIT:

команда запуска AutoHotKey будет делать это: run "mybat.bat",, Hide Однако, кто-нибудь знает, как обойти это поведение с .vbs? Мне интересно.

+0

Что именно вы подразумеваете под 'как обойти это поведение с помощью .vbs'? – Forivin

ответ

0

Я считаю, что все ваши сценарии, vbscript и ваш командный файл потенциально могут быть написаны изначально в Ahk, но вот как я запустил ваш скрипт vb.

x:: ; press x 
sc := ComObjCreate("ScriptControl") 

sc.Language := "VBScript" 

script = 
(
Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run chr(34) & "Spotify App Volume Up.bat" & Chr(34), 0 
Set WshShell = Nothing 
) 

sc.ExecuteStatement(script) 

return