APIビューアをコマンドライン引数を使って起動するには

解決


  2007-01-19 06:50:57  No: 97688

VB5で、APIビューアが存在するフォルダと同じフォルダにある「APILOAD.TXT」というファイルに、
「コマンド ラインで引数を使って必要なファイルを指定しても、テキスト ファイルまたはデータベース ファイルをロードできます。Apiload.exe [/T | /D] <ファイル名>」
と書いてありました。

そこで、スタートメニューの「ファイル名を指定して実行」で、
「C:\Program Files\DevStudio\VB\Winapi\APILOAD.EXE /T C:\Program Files\DevStudio\VB\Winapi\WIN32API.TXT」
を入力して、
「OK」をクリックしたら、

「'C:\Program' が見つかりません。名前を正しく入力したかどうかを確認してから、やり直してください。ファイルを検索するには、 [スタート] ボタンをクリックしてから、[検索] をクリックしてください。」

というエラーメッセージが出て起動されませんでした。
そこで、VBで下のようなプログラムを作ってみたところ、ちゃんとAPIビューアが起動しました。

Private Sub Command1_Click()
    a = "C:\Program Files\DevStudio\VB\Winapi\APILOAD.EXE /T C:\Program Files\DevStudio\VB\Winapi\WIN32API.TXT"
    RetVal = Shell(a, 1) 
End Sub

どうしてでしょうか?全く同じ文なのに・・・;;
「ファイル名を指定して実行」で実行するにはどうすればいいでしょうか?
分かる方、教えて頂けないでしょうか。


Hongliang  URL  2007-01-19 07:10:39  No: 97689

半角空白はコマンドの区切りとなるため、パスと認識できないからです。
半角空白を含むパスを指定する場合、" " で括る必要があります。


  2007-01-19 08:12:31  No: 97690

ご回答、ありがとうございます。

> 半角空白はコマンドの区切りとなるため、パスと認識できないからです。
> 半角空白を含むパスを指定する場合、" " で括る必要があります。

そうだったのですか。そういう決まりごとがあったのですね。

「"C:\Program Files\DevStudio\VB\Winapi\APILOAD.EXE" /T C:\Program Files\DevStudio\VB\Winapi\WIN32API.TXT」

としてやると、ちゃんとAPIビューアは起動されました。
助かりました、どうもありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加