掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
関連付けされたプログラムが欲しい (ID:33190)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
う〜むさん> 説明不足でした。 CreateProcessでは、ワード文書名を指定するだけでは開くことができませんでした。 ですが、「プログラム名 + 文書名」を与えると開くことができたので、 プログラム名があれば、いいのでは?と思い質問しました。 tttさん> ありがとうございました。 FindExecutableで、プログラム名のパスを取ってくることができることを確認し、 また、ShellExecuteExでSEE_MASK_NOCLOSEPROCESSを指定することで、終了待ちできることも確認しました。 なお、FindExecutableは、今回知識に留めておき、ShellExecuteExで実装するようにしました。 だいたいこんな感じです var info: TShellExecuteInfo; begin FillChar(info, SizeOf(TShellExecuteInfo), 0); info.cbSize := SizeOf(TShellExecuteInfo); info.fMask := SEE_MASK_NOCLOSEPROCESS; info.Wnd := Application.Handle; info.lpVerb := 'open'; info.lpFile := てきとうなWord文書; info.nShow := SW_SHOW; if ShellExecuteEx(@info) and i(nfo.hInstApp >= 32) then begin while WaitForSingleObject(info.hProcess, 100) = WAIT_TIMEOUT do begin Application.ProcessMessages; end; CloseHandle(info.hProcess); end; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.