掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
関連付けされたプログラムが欲しい (ID:33188)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
単に「閉じるまで待機」したいだけですよね? それなら関連づけされたプログラムを探すんじゃなくて Application.ProcessMessages で待てば良いと思います。もちろん文書自体は関連付けで開きます。以下は大昔に書いたプログラムの一部です。このまま動くわけではありませんが、ご参考になさって下さい。 (* プログラム起動と終了待ち *) procedure ProgramStart(PRGLine, CMDLine, DIR, CNF : String); var SI : TStartupInfo; PI : TProcessInformation; begin FillChar(SI, SizeOf(TStartUpInfo), 0); if UpperCase(copy(PRGLine,(length(PRGLine) - 3), 4)) = '.BAT' then begin SI.wShowWindow := SW_MINIMIZE; SI.dwFlags := STARTF_USESHOWWINDOW; end; if CMDLine <> '' then PRGLine := PRGLine + ' ' + CMDLine; if DIR <> '' then {$I-} ChDir(DIR); {$I+} if IOResult <> 0 then ShowBeepMes('指定された作業フォルダ(' + DIR + ') に 移動できません!') else begin if CNF = '' then WinExec(PChar(PRGLine), SW_SHOWNORMAL) else begin if CreateProcess(NIL, PChar(PRGLine), NIL, NIL, FALSE, CREATE_DEFAULT_ERROR_MODE, NIL, NIL, SI, PI) then begin while WaitForSingleObject(PI.hProcess, 0) = WAIT_TIMEOUT do begin Application.ProcessMessages; end; ShowBeepMes(CNF); end else begin ShowBeepMes('プログラムが起動出来ませんでした'); end; end; end; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.