現在、他のプロセスのウィンドウが最大化/最大化されているときに警告する機能を使用するプログラムで作業しています。イベントを最大化すると、右上隅の閉じるボタンの隣にあるシンボルを押すことを意味します。SetWinEventHookウィンドウ最大化されたイベント
これを達成するには、SetWinEventHook機能を使用します。問題は、このイベントをキャッチする正しいイベントコードが見つからないことです。私はEVENT_SYSTEM_MOVESIZESTART, EVENT_SYSTEM_MOVESIZEEND, EVENT_SYSTEM_MINIMIZESTART and EVENT_SYSTEM_MINIMIZEEND
定数を試しましたが、それらはすべてmaximizeイベントでトリガーしていないようです。私は他のイベントをトレースすることができますので、私のSetWinEventHookの実装は機能しています。
誰かが他のプロセスからmaximizeイベントをキャプチャする方法についてアイデアを持っていますか?
ありがとうございます。
優しい挨拶で、 ボブ
コード例:
// To catch the event
SetWinEventHook(EVENT_MIN, EVENT_MAX, IntPtr.Zero, new WinEventDelegate(WinEventProc), GetProcess(), 0, 0);
// The handler
private void WinEventProc(IntPtr hWinEventHook, uint eventType, IntPtr hwnd, int idObject, int idChild, uint dwEventThread, uint dwmsEventTime)
{
// TODO: Filter maximize event here
if (eventType == ?)
{
// Do something
}
}
'は、SetWindowsHookEx 'で何が? – bash0r
サイズ変更イベントが発生するのを待ってから、画面全体が満たされているかどうかを確認できますか? – tbridge
もっと良い方法がありますが、CBTフックでそれを捕まえることができます。 – chris