掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CreateProcessで起動させたアプリの標準出力の内容をテキストボックス表示するには? (ID:7499)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
CreateProcess でperlを起動させています。 Perlの出力内容をテキストボックスに表示させたいんですけど、 アプリケーション上で標準出力の内容を取得する方法がわかりません。 すごく初心者なので恥ずかしいのですが、ご参考までにソースを記述します。↓ なにかおかしい所がありましたら、ご指摘頂けると有り難いです。 ---------------------------------- begin Button2.Enabled:=False; // 外部アプリ、表示状態を設定------------- with StartupInfo do begin // 構造体のサイズを指定 cb := SizeOf(TStartupInfo); // ウィンドウの位置を指定 dwX := 0; dwY := 0; // ウィンドウのサイズを指定 dwXSize := 640; dwYSize := 480; // ウィンドウの表示状態を指定 wShowWindow := SW_SHOWNORMAL; // 有効な設定項目を指定 dwFlags := STARTF_USESHOWWINDOW or STARTF_USESIZE or STARTF_USEPOSITION; // それ以外の項目を初期化 lpDesktop := nil; lpReserved := nil; lpTitle := nil; cbReserved2 := 0; lpReserved2 := nil; end; // 外部アプリを起動------------------------ s := 'C:\perl2\sample2.exe'; ret := CreateProcess( nil,PChar(s),nil,nil,False,CREATE_DEFAULT_ERROR_MODE, nil,'C:\perl2\',StartupInfo,ProcessInfo); if ret then begin // このループで外部アプリが終了するまで待つ while WaitForSingleObject(ProcessInfo.hProcess, 0) = WAIT_TIMEOUT do begin Application.ProcessMessages; end; exit; CloseHandle(ProcessInfo.hProcess); CloseHandle(ProcessInfo.hThread); end else begin ShowMessage('プログラムが起動できません。'); end; ---------------------------------- logに同じような質問があったのですが、回答にあったURLが消えてたので。。 宜しくお願いします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.