|
15番会議室「FAQ編纂委員会」に寄せられた「よくある質問の答え」
[Q]
WinExecは16BIT様なので、32BITでの他のプログラムの起動方法が知りたい。
又、Delphi2.0では32BIT環境なので、WinExecとGetModuleUsageでは終了待
ちが出来ません。
[A]
CreateProcessと、WaitForSingleObjectを使います。
例を参照してください。
[例]
Var
SI :TStartupInfo;
PI :TProcessInformation;
Begin
GetStartupInfo(SI);
If Not CreateProcess('C:\Windows\Notepad.Exe', nil, nil, nil,
False, CREATE_DEFAULT_ERROR_MODE,nil, nil, SI, PI) Then
Raise Exception.Create('Exec Error ' + IntToStr(GetLastError));
While WaitForSingleObject(PI.hProcess, 0) = WAIT_TIMEOUT Do
Application.ProcessMessages;
{このループが抜けたら、起動したプログラムが終了している}
End;
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum FDELPHIに寄せられる質問の中から、よくある質問への回答を FDELPHIのメンバーがまとめたものです。 したがって、これらの回答はボーランド株式会社がサポートする公式のものではなく、掲示されている内容についての問い合わせは受けられない場合があります。
Copyright 1996-1998 Delphi Users' ForumFAQ編纂委員会
|