以下のようなVBスクリプトがあります。
test.vbs
--------------------------------------------------------
Set WshShell = WScript.CreateObject(WScript.Shell)
Arg1 = WScript.Arguments.Item(0)
Arg2 = WScript.Arguments.Item(1)
WScript.Echo Arg1
WScript.Echo Arg2
WScript.Quit
--------------------------------------------------------
このスクリプトファイルに引数を渡して実行したいと思います。
以下、「test.vbs」の部分は実際にはフルパス名を入れています。
ShellExecute(hwnd, NULL, test.vbs, ab cd, NULL, SW_SHOW);
このように記述すると、「ab」「cd」という2つのパラメータが渡ります。
次に、a b c dという空白を含む2つのパラメータを渡したいのですが、
どうもうまくいきません。
ShellExecute(hwnd, NULL, test.vbs, \a b\ \c d\", NULL, SW_SHOW);
のようにすると、「a」「b c」とい2つのパラメータになってしまいます。
何か良い方法はないでしょうか?
お騒がせして申し訳ありません。
自己解決しました。
ShellExecute(hwnd, NULL, test.vbs, \\a b\ \c d\\", NULL, SW_SHOW);
のように一番外側にもう一組「」を追加することで2つの空白入りパラメータを渡せま
した。