ページ 1 / 1
system()について
Posted: 2010年3月31日(水) 01:09
by あいくん
#include <stdlib.h>の
ststem関数を使って以前作成した
ツールを起動したいのですが
system("C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\tool.exe");
としたところ
'C:\Program' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
となってしまい
tool.exeを起動することができません。
どうすればよろしいですか?
Re:system()について
Posted: 2010年3月31日(水) 01:25
by Poco
system("\"C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\tool.exe\"");
とすると、どうですか?
Re:system()について
Posted: 2010年3月31日(水) 01:33
by あいくん
>ぽこさん
早速のご回答ありがとうございます。
編集してみましたが
やはり同じようになってしまいました。
Re:system()について
Posted: 2010年3月31日(水) 02:13
by Poco
C:\Program Files\Microsoft Visual Studio 9.0\VC\tool.exe
が本当に存在するか確認してください。
Re:system()について
Posted: 2010年3月31日(水) 02:43
by あいくん
>ぽこさん
ディレクトリは存在するのは間違いありません。
なんか空白で区切られてしまってるようです。
Re:system()について
Posted: 2010年3月31日(水) 04:05
by lbfuvab
ShellExecとかじゃダメですか?
Re:system()について
Posted: 2010年3月31日(水) 11:45
by あいくん
>lbfuvabさん
ShellExecという関数を知らなかったのでググってみたのですが
わかりませんでした。
どのように使えばよろしいのでしょうか?
Re:system()について
Posted: 2010年3月31日(水) 12:36
by no
斜線が二本というのがきになるんですが、\が二つはいってません?
Re:system()について
Posted: 2010年3月31日(水) 12:39
by no
おっと失礼、「¥」←これです。
Re:system()について
Posted: 2010年3月31日(水) 12:59
by あいくん
>noさん
エスケープしてます。
Re:system()について
Posted: 2010年3月31日(水) 15:54
by dic
system("C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\tool.exe");
で / スラッシュでなく ¥¥ でフォルダ指定してみてはいかがですか?
(\\)文字化けしますね
Re:system()について
Posted: 2010年3月31日(水) 16:00
by たかぎ
> (\\)文字化けしますね
それをいうなら、本来なら¥に見えるのが文字化けでしょう。

Re:system()について
Posted: 2010年3月31日(水) 16:03
by あいくん
>dicさん
どういう意味でしょうか?
スラッシュにはしていません。
Re:system()について
Posted: 2010年3月31日(水) 20:03
by Ma
Re:system()について
Posted: 2010年3月31日(水) 20:17
by Ma
あと、コマンドプロンプト 起動
でぐぐってみると、ヒントになるようなのがいろいろありましたよー。
はい。
つsystem("start \"\" \"C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\tool.exe\"");
Re:system()について
Posted: 2010年3月31日(水) 21:01
by あいくん
>Maさん
system("start \"\" \"C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\tool.exe\"");
これでできました。
ホントにありがとうございます。
ただなぜこうなるのかが理解できません。
Re:system()について
Posted: 2010年3月31日(水) 21:16
by Ma
コマンドプロンプトを開いて、
help start
とうってみてください。
start の使い方がかかれています。
いろいろなオプションがありますが、今回は最初のふたつの[/url] のみ使いました。
エスケープを除くと、例の上のコマンドは以下のようになります。
start "" "C:\Program Files\Microsoft Visual Studio 9.0\VC\tool.exe"
これと、コマンドプロンプトのヘルプから表示される start の文法を比べていただければ、title の部分があって、次にパスが指定されているのがわかるのではないでしょうか?
私はあまりMS-DOSには詳しくないので、これぐらいしかいえません(汗