Şu anda başka bir işlem penceresi en üst düzeye/maksimize edildiğinde beni uyarması gereken bir işlev kullanan bir program üzerinde çalışıyorum. En büyük duruma getirme olayı ile, sağ üst köşedeki kapat düğmesinin yanındaki sembollere basmak istiyorum.SetWinEventHook Window Maximized event
Bunu yapmak için SetWinEventHook işlevini kullanıyorum. Sorun şu ki bu olayı yakalamak için doğru olay kodunu bulamıyorum. EVENT_SYSTEM_MOVESIZESTART, EVENT_SYSTEM_MOVESIZEEND, EVENT_SYSTEM_MINIMIZESTART and EVENT_SYSTEM_MINIMIZEEND
sabitlerini denedim, ancak bunların tümü maksimum hale getirme etkinliğinde tetiklenmiyor. Ancak diğer olayları izleyebilirim, böylece SetWinEventHook uygulamam işe yarıyor.
Maby herhangi biri, başka bir işlemden azami olayı nasıl yakalayacağına dair bir fikri var mı?
Şimdiden teşekkürler.
dost selâmlarımla, Bob
Kod örnek:
// 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 'neyin nesi? – bash0r
Bir yeniden boyutlandırma olayı için bekleyebilir, daha sonra tüm ekranın dolup dolmadığını kontrol edebilirsiniz? – tbridge
Daha iyi bir yol olmalı, ancak bir CBT kancası bunu yakalayabilir. – chris