![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
似たような質問をこないだ行ったばかりになるのですが、別のアプリから行ったダイアログの表示を検知する方法について質問いたします。
調べたところWindowsからダイアログの表示時にWM_INITDIALOG当たりが投げられるようなのですが、これを取得する方法がわかりません。
環境: WindowsXP+BCB
[ コード ]
BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER( WM_INITDIALOG, hogehoge(ここに何を入れればいいのかがわかりません), GetDialog )
END_MESSAGE_MAP( TForm )
ご教授のほどを宜しくお願いいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは。
SetWindowsHookEx()で対象アプリをフックすれば出来るかもしれません。
http://msdn.microsoft.com/ja-jp/library/cc430103 …
No.2
- 回答日時:
> VCL_MESSAGE_HANDLER( WM_INITDIALOG, hogehoge(ここに何を入れればいいのかがわかりません), GetDialog )
「TMessage」を入れる。
VCL_MESSAGE_HANDLER( WM_INITDIALOG, TMessage, GetDialog )
って事。で、GetDialogは
void __fastcall TForm1::GetDialog( TMessage& Message )
って感じ。マクロ部分で2つ目の引数に「TMessage」って書くと、3つ目に指定した関数は「引数がTMessage&の関数」になる。
ちなみに「WM_INITDIALOGメッセージは、そのダイアログを作成したアプリケーションにのみ飛ぶ」ので「そのダイアログを作成してない、他のアプリには飛んで来ない」です。
なので「やっても無駄」です。
No.1
- 回答日時:
「WM_INITDIALOG」はダイアログを作成する時に指定したコールバック
関数に送られます(他アプリ等のメッセージキューには入りません)
「FindWindow()APIを使って監視する」が定石だと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Google Maps iOS でのgoogle map の地図を写真で表示する方法を教えて下さい。 Windows でgo 2 2023/06/02 09:56
- その他(プログラミング・Web制作) pythonでアプリが終了されたときに特定の処理を実行したい 2 2023/01/19 17:13
- YouTube Win10 Youtubeの動画を開くと、必ず右下に設定ダイアログ?が表示されます 2 2023/03/26 11:35
- PHP PHPでテキストファイルに保存した時の改行問題 1 2022/11/19 15:07
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- JavaScript 【GAS】WEBアプリでハイパーリンクを挿入したい 1 2023/03/12 19:20
- Illustrator(イラストレーター) イラストレーターが買えない 1 2022/08/25 13:23
- アプリ PCでAndroidアプリを実行 BlueStacks AppPlayerが良い? 2 2022/05/10 10:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ボタンの表示の色、フォントを...
-
ダイアログの上のテキストボッ...
-
メッセージボックスのボタン文...
-
リソースファイルとは・・・
-
フォーム上のリストボックスに...
-
エクセル VBA 「Sub Auto_Open(...
-
別のアプリから表示されたダイ...
-
VC++で「手のひらカーソル」を...
-
confirmダイアログの表示文字に...
-
'int' から 'LPCSTR' に変換で...
-
メッセージボックスを大きくす...
-
コンボボックスのドロップダウ...
-
モードレスダイアログのキー入...
-
ダイアログにプレビュー表示
-
ダイアログボックスで指定した...
-
ダイアログのボタンが押せない
-
C# ボタンコントロール内で文字...
-
【VC++2005】ダイアログサイズ...
-
C++でメモ帳の「行へ移動」機能...
-
MFCダイアログボックスを最前面...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メッセージボックスを大きくす...
-
ボタンの表示の色、フォントを...
-
コンボボックスのドロップダウ...
-
ダイアログの上のテキストボッ...
-
メッセージボックスのボタン文...
-
confirmダイアログの表示文字に...
-
ボタンの配置を変更したい
-
フォーム上のリストボックスに...
-
リソースファイルとは・・・
-
ツールチップの表示
-
MFCダイアログボックスを最前面...
-
ダイアログの表示位置の保存
-
'int' から 'LPCSTR' に変換で...
-
【VC++2005(CLR)】ダイアログ右...
-
vbscriptで、ファイル選択ダイ...
-
エディットボックスの処理で画...
-
ダイアログボックスで指定した...
-
エディットコントロールの色の...
-
【VC++2005】ダイアログサイズ...
-
VC(Ver6.0)でダイアログサイズ...
おすすめ情報