0

ウィンドウを切り替えることなく、ゲーム内から Spotify の音量を制御しようとしています。これを行うために、次のことを行いました。

A. Windows で個々のプログラム ボリュームを制御できる NirSoft の nircmd.exe を見つけた 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 は、スクリプトが他のプログラムによって初期化されないようにすることで、私を守ろうとしているように思えます。助言がありますか?そうでなければ、誰かが別の方法でこれをサイレントに実行する方法を知っていますか?

編集:

AutoHotKey の run コマンドはこれを行います: run "mybat.bat",, Hide ただし、.vbs を使用してこの動作を回避する方法を知っている人はいますか? 気になります。

4

1 に答える 1

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
于 2015-12-11T16:33:49.477 に答える