名前 題名 ▼ Mr.XRAYさん > ▼ Syakeさん > > > 何故、消す必要があるの?ってのは無しにして下さい。 > > 知りたい〜!! (ウソ、ウソ) > > > ほんで、課題は再表示された時のイベントを捕まえるのはどうするんじゃろ? > > 単に、アクティブにされるウィンドウにメッセージを送るってのはどうで > しょうか。 > ただし、アクティブにされる方もDelphi製で、自分でメッセージを受取る > コードを書くことが条件です。 > > ====== 送る側 ========= > > procedure TSenderForm.Button1Click(Sender: TObject); > var > hWindow : HWND; > begin > //受取る側のウィンドウハンドル > hWindow := FindWindow('TReceivForm',nil); > if hWindow<>0 then begin > //アクティブにする等の処理 > SendMessage(hWindow,WM_USER+100,0,0); > //またはここにアクティブにする等の処理 > end; > end; > > ====== アクティブにされる側 ========= > > procedure WMUser100(var Message: TMessage); message WM_USER+100; > > を定義しておいて、このメッセージハンドラを > > procedure TReceivForm.WMUser100(var Message: TMessage); > begin > Panel1.Caption:='起こされてしまった!!'; > end; > > 注意: > このメッセージのWParam,Lparam等に値を設定しても、異なるプロセスでは > 受取れません。これができれば、先のTSさんのような悩みは簡単解決です。 > > 追記: > HWNDという変数はやめた方がいいかと。予約語ですので... (^_^;) > 特に理由があれば別ですが。余計なお世話だったらゴメンなさいませ。 > 後、あるサンプルコードからコピペしてオンライン修正ですので、よろしく。 > (つまり、動作確認してございません) > > GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link