No.3ベストアンサー
- 回答日時:
なるほど、そっちでしたか。
(もしかしたら、リダイレクトのことかも、という気はしてたのですが。)リダイレクトはコマンドプロセッサ( WindowsNT/2000/XP では CMD.EXE、Windows95/98/ME では COMMAND.COM )がやっている仕事なので、ShellExecute などで実行させるなら、
"CMD.EXE /C TEST1.EXE <test.txt >r.txt"
のようにしないといけないですね。
( /C については、コマンドプロンプトで CMD /? で見てください。)
CMD.EXE or COMMAND.COM のパスは環境変数 COMSPEC で取得できます。
>"CMD.EXE /C TEST1.EXE <test.txt >r.txt"
前何度もやってダメだと思っていたのですが,試しにもう一回試してみました。
できました^^;ShellExecuteExを使ってもう一度プログラムを組んでみようと思います。
どうもありがとうございましたm(__)m
No.2
- 回答日時:
>しかし,DOSで動作する実行ファイルを呼び出した後の処理ができなくなってしまうので
というのは、呼び出した実行ファイルの終了コードを取得したいということでしょうか?もしそうでしたら、ShellExecuteEx() でも終了コードを取得できると思いますよ。SHELLEXECUTEINFO のメンバ hProcess にプロセスハンドルが返ってくると思うので、
SHELLEXECUTEINFO sei;
sei.cbSize = sizeof( SHELLEXECUTEINFO );
sei.nShow = SW_HIDE;
...
ShellExecuteEx( &sei );
WaitForSingleObject( sei.hProcess, INFINITE );
GetExitCodeProcess( sei.hProcess, &dwExitCode );
としてやれば終了コードが取得できると思います。
この回答への補足
こんにちわ。
回答頂きありがとうございます。説明不足で申し訳ありませんm(__)m
DOSで動作する実行ファイルを呼び出した後の処理というのは,
呼び出した実行ファイルの終了コードを取得したいということではなく,
標準入出力のリダイレクトです。
例えば,ShellExecuteEx() 等でDOSを呼び出した場合,
”<test.txt >r.txt”このような引数を入れると,
思った通りのことができないのです。
何度も答えて頂きありがとうございます。
No.1
- 回答日時:
System() じゃなくて、ShellExecute()、あるいは ShellExecuteEx() を使用すればできるんじゃないでしょうか。
この回答への補足
回答して頂きありがとうございます。
初め,ShellExecute()やShellExecuteEx()で
プログラムを組んでいて,確かにDOS窓は非表示に
なります。しかし,DOSで動作する実行ファイルを
呼び出した後の処理ができなくなってしまうので,
最終的にSystem()を使うことにしたのです。
System()を使う限り,DOS窓が表示されるのは
仕方ないことなのでしょうか…?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 7 Windows7でMicrosoft VirtualPC2007 SP1を使用する 9 2022/11/17 13:12
- C言語・C++・C# C言語 コマンドプロンプトについて。 36 2023/02/26 09:15
- その他(OS) WindowsとMS-DOSの違いって何ですか? 5 2022/10/26 02:19
- その他(プログラミング・Web制作) 複数のテキストファイルの結合方法 2 2022/05/14 23:58
- 英語 和訳をお願いしたいです。 4 2023/05/07 04:23
- 英語 do-not-dosの意味について 1 2022/03/28 13:49
- モニター・ディスプレイ 画像解像度について 4 2022/05/30 16:05
- Visual Basic(VBA) dosプロンプトから、a.txt+b.txt=c.txt て出来ますか? 4 2022/07/27 22:10
- サーバー マイクラのサーバーをdos攻撃する方法を教えてください。知識は全くないので1からお願いします 1 2022/05/08 21:20
- その他(ブラウザ) 動画の切り抜きをしています。保存の時に、アクセス許可がないとメッセージが出て、保存出来ません。試した 2 2022/05/30 09:56
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
実行時のコマンドプロンプトを非表示 Visual C++
C言語・C++・C#
-
system関数がうまくいかない
C言語・C++・C#
-
system関数でのシェル起動について
C言語・C++・C#
-
-
4
画面を強制的に再描画させる方法
C言語・C++・C#
-
5
system関数のエラー検出
C言語・C++・C#
-
6
charからLPTSTRへの変換方法
C言語・C++・C#
-
7
コマンドプロンプトのウィンドウが出てしまう
C言語・C++・C#
-
8
VC++から引数付きexeファイルの実行
C言語・C++・C#
-
9
コンソールアプリケーションのコマンドプロンプト画面を非表示
Visual Basic(VBA)
-
10
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
11
外部exe呼び出しの方法 ShellExecuteEx, System...
C言語・C++・C#
-
12
コマンド(例えばls)の出力結果を文字列で取得するプログラムの作成方法
C言語・C++・C#
-
13
#include <Windows.h>というヘッダファイルについて
C言語・C++・C#
-
14
c++std::string型をTCHARに変換したい!
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NETで DataRow()を利用して...
-
VBA:小数点以下の数字を取得で...
-
VBAでActiveDirectoryのユーザ...
-
ListView 項目の選択/選択解除...
-
getParameter と getAttribut...
-
count(*)で取得した値をJAVAの...
-
Flexgridで選択行の列の値を取...
-
「Excel VBA」 Webクエリ マク...
-
like演算子内に変数って使えな...
-
JavaScriptにおいてコンピュー...
-
データ数をカウントしたいのですが
-
javaで週の最初の日(例:月曜日...
-
PostgresSQL JDBC で Select結...
-
EXCELのリストボックスを選択し...
-
POSTやGETの値の取得方法
-
エクセルVBAで別ファイルのデー...
-
ASP(vbscript)におけるクライア...
-
現在時刻をミリ秒まで取得
-
コンボボックスの表示は最大何行?
-
asp.netでtextboxの値を取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでActiveDirectoryのユーザ...
-
VB.NETで DataRow()を利用して...
-
VBA:小数点以下の数字を取得で...
-
ListView 項目の選択/選択解除...
-
like演算子内に変数って使えな...
-
count(*)で取得した値をJAVAの...
-
利用者側のMACアドレスを取得し...
-
データ数をカウントしたいのですが
-
JavaScriptでWindowsログオンID...
-
ListViewで複数選択された項目...
-
Flexgridで選択行の列の値を取...
-
エクセルVBAで複数選択できるよ...
-
VBA リストボックス複数選択か...
-
getParameter と getAttribut...
-
Excel VBA でログインしてい...
-
VBScriptで数値にコンマを付け...
-
Spreadの選択行の取得について
-
コンボボックスの表示は最大何行?
-
コンボボックス表示文字列を取...
-
VB .netにて現在時刻+1時間後...
おすすめ情報