• ベストアンサー

Delphi 閉じてないウインドウを閉じる

Delphi 6 です。 実行中の「***.exe」(ウインドウ)を閉じさせる方法はありますか? 実行中のAAA.exeをでBBB.exeから閉じさせる方法です。 強制終了でなく、OnCloseイベントにも行く方法を教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • SHIMAPEE
  • ベストアンサー率75% (154/203)
回答No.1

Top Level WindowにWM_CLOSEメッセージを送ってみてはどうでしょうか。ただし、これはWindowを閉じる操作と同じですからアプリケーションによっては素直に終了しません。例えば編集中のメモ帳では「保存しますか?」のダイアログが現れます。(イベントが発生するという意味ではご要望どおりですが) Windows XP Pro SP2 + Delphi2006で試していますが他のWindows + Delphi6でも同じだと思います。 ----- var Wh: HWND;  : Wh := FindWindow('Notepad', nil); // メモ帳をクラス名で探す if Wh <> 0 then PostMessage(Wh, WM_CLOSE, 0, 0) else ShowMessage('メモ帳は起動されていません。'); -----

situmonnsya
質問者

お礼

実験してみました。 希望どうりの結果です。 今日は遅いので、明日作成中のソフトに組込みます。 ありがとうございました。

関連するQ&A

専門家に質問してみよう