VB6からCで作られたEXEを実行した戻り値を取得したいのですが
どのように記述すればよいのでしょうか?
制御が戻るまで固まらずに待ち続けるには
CreateProcessを使うと良いとは思いますが、
notepadなど一方的に動作させて終了するようなサンプルしかなく、
戻り値を取得するサンプルは見当たりませんでした。
戻り値といってもCのEXEは結果を標準出力で表示されるものですが・・・
何か良いサンプルはあるでしょうか?
CreateProcessを使わない方法でも構いません。
r = CreateProcess( _
cmd, _
param, _
ByVal 0&, _
ByVal 0&, _
0, _
NORMAL_PRIORITY_CLASS, _
ByVal 0&, _
vbNullString, _
si, _
pi _
)
No.2ベストアンサー
- 回答日時:
>制御が戻るまで固まらずに待ち続けるには
プログラムが、イベントを処理してくれないとすると、タイマを使って
監視するしかないような気がします。
Dim ProcessHandle As Long 'プロセスハンドル(共通変数)
Dim TerminateCode As Long '終了コード(共通変数)
Private Sub Timer1_Timer()
If WaitForSingleObject(ProcessHandle, 0) = 0 Then
GetExitCodeProcess ProcessHandle, TerminateCode
Timer1.Interval = 0
End If
End Sub
http://msdn.microsoft.com/ja-jp/library/cc429427 …
http://msdn.microsoft.com/ja-jp/library/cc429117 …
No.1
- 回答日時:
cmd.exeなどのShellから起動してリダイレクトでファイルに出力したほうがいいかもしれません
WSH経由で起動させれば プログラムの停止まで実行を待たせることも可能です
『Windows Scripting host Object Model』の参照設定を施し
dim wsh as New WshShell
wsh.run "cmd /c プログラムパス > 出力ファイル名", 5, 1
Open "出力ファイル名" for input as #1
' ファイルの入力処理
Close
といった具合で ・・・
参照設定を行わないのであれば
dim wsh as Object
Set esh = Createobject("WScript.Shell")
といった具合です
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- Excel(エクセル) Excelマクロの表示のExcel内をfindで検索 3 2022/06/15 20:07
- Excel(エクセル) エクセル VBA実行中のApplication.ScreenUpdatingについて 3 2023/07/13 21:06
- C言語・C++・C# C++のcinの動作 5 2023/02/26 00:13
- Excel(エクセル) エクセルのイベントVBAを複数のシートで動かしたい 1 2022/12/07 16:55
- 数学 確率の問題 4 2023/02/24 01:07
- Visual Basic(VBA) Vba LongPtrについて教えてください 2 2022/08/19 11:14
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
API関数 GetExitCodeProcess
Visual Basic(VBA)
-
DWORDの実際の型は何でしょうか
C言語・C++・C#
-
char*を初期化したいのですが
C言語・C++・C#
-
-
4
CreateProcess error=0
C言語・C++・C#
-
5
リソースエディタでスタティックテキストの文字サイズの変更
C言語・C++・C#
-
6
WaitForSingleObjectの使い方について
C言語・C++・C#
-
7
文字列の置換をCStringで(C++)
C言語・C++・C#
-
8
コマンド(例えばls)の出力結果を文字列で取得するプログラムの作成方法
C言語・C++・C#
-
9
MFCでコンボボックスを選択不可状態にしたい
C言語・C++・C#
-
10
std::stringからLPCWSTR型への変換
C言語・C++・C#
-
11
ラジオボタンの値の取得について(C++)
C言語・C++・C#
-
12
VC++での外部プログラムの実行
C言語・C++・C#
-
13
DoEventsがやはり分からない
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイル出力の場所を指定
-
CSVファイルを任意の場所に出力...
-
井戸型ポテンシャルの数値解シ...
-
Acccess レポートをグループ別...
-
入力ファイルを読み込み,得点...
-
windowsでテキストファイルの比...
-
ファイル比較について
-
コマンド(例えばls)の出力結果...
-
CSV形式に変換
-
C++ fprintf_sの使い方がわからん
-
VC++でUTF-8のファイルを出力し...
-
setvbufってどう使うの?
-
C言語のローカル変数初期化に...
-
C#でエクセルみたいな重複行削除
-
シェルコマンドの 2>&1 とはど...
-
標準出力とファイルに効率的に...
-
VBA でメモ帳へ保存する際の保...
-
ファイル形式またはファイル拡...
-
Accessでのレポート印刷待機方法
-
VB2008少し理解しました^^
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンド(例えばls)の出力結果...
-
VC++でUTF-8のファイルを出力し...
-
Acccess レポートをグループ別...
-
ファイル出力の場所を指定
-
ファイル形式またはファイル拡...
-
シェルコマンドの 2>&1 とはど...
-
Wordマクロで指定したフォルダ...
-
テキストファイルに改行コード...
-
fwprintf()について
-
二次元配列をクリップボードに...
-
外国語とCSVについて
-
ファイルの文字コードをUTF-8に...
-
csvファイルでの出力について
-
C言語での印刷方法
-
フォルダにあるPDF情報の抽出(VBA)
-
(VBA)書式が変更されてしまい...
-
C言語での縦方向のファイル出力...
-
CSVファイルを任意の場所に出力...
-
標準出力とファイルに効率的に...
-
CreateProcess関数と実行後の戻...
おすすめ情報