• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:外部アプリケーションの呼び出し方)

外部アプリケーションの呼び出し方

このQ&Aのポイント
  • VC++で環境ウィンドウズ2000でプログラミングを行っています。メニュー画面上のボタンをクリックすると外部のアプリケーションを呼び出し作業したいと思っています。
  • CreateProcess関数を使って外部のアプリケーションを呼び出そうとしましたが、うまくいきません。メモ帳の呼び出しは成功したため、アプリケーション名の書き方が間違っている可能性を考えて試行錯誤しました。
  • 初心者ですので、説明が不十分かもしれませんが、どうかご助力いただけると幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

デスクトップがそのアプリケーションの置き場所なのなら半角スペースを含んでいる可能性が高いですから ""で括る必要があるでしょう _T("\"C:\\Documents and Settings\\ユーザー名\\デスクトップ\\プログラム名\" 必要な引数") といった具合にファイルパスの先頭と末尾に"を付加します

tsurumi
質問者

補足

ご回答ありがとうございました。 起動したアプリケーションはデスクトップにあると書いたのですが、これはショートカットのある場所でした。実際はCドライブの中にありました。 下記のように書いてみたのですがどうもうまくいきません。 ("\"C:\\Program Files\\Canopus\\MVR-D2000\\"Mstation.exe"), 本当に初心者で説明の不十分な点も多いと思いますが、どうぞよろしくお願いします。

その他の回答 (1)

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.2

_T("notepad.exe C:\\foo.txt), ではなく _T("notepad.exe C:\\foo.txt"), と書いてみましょう(最後の「"」が足りません) なお、起動するプログラムファイルをパス付きで指定する場合、パスの中に半角スペースを含む時は以下のように「"」で括る必要があります。 _T("\"C:\\Program Files\\foo\\ber.exe\" C:\\foo.txt"), また、起動プログラムが「CreateProcessで検索されない位置」にある場合は、フルパスで指定しなければなりません。

tsurumi
質問者

補足

ご回答どうもありがとうございました。 「CreateProcessで検索されない位置」というのは具体的にはどういうことなのでしょうか?あとフルパスで指定っていうのもちょっと意味がわかりません。 本当に初心者で大変申し訳ないですが、よかったら教えてください。 よろしくお願いします。

関連するQ&A