私は問題 (アプリケーション内で開いているフォームを検出する方法) に取り組んでおり、理解できない Windows メッセージに出くわしました: 0xC052。
これは、フォームが開いたときに MessageFilter で受け取る最初のメッセージです。しかし、参照が見つからなかったので、フォームが開かれたことをメッセージが信頼できると言っているという仮定に頼りたくありません。
編集:コードを追加
Application.AddMessageFilter(new MessageFilterImpl());
class MessageFilterImpl : IMessageFilter
{
public bool PreFilterMessage(ref Message m)
{
Control wnd = Form.FromHandle(m.HWnd);
if (wnd is Form)
knownForms.Add((Form)wnd); //m.Msg is 0xC052
return false;
}
}