PeekMessage

PeekMessage işlevi bir ileti için bir konu ileti sırası denetler ve (varsa) ileti belirtilen yapıda yerler.

bool PeekMessage ()  lpmsg  lpMsg, / / ileti yapısı için işaretçihwndhWnd, / / idare pencereyeUINTwMsgFilterMin, / / ilk mesajıUINTwMsgFilterMax, / / son mesajUINTwRemoveMsg / / kaldırma flags);
 

Parametreleri

lpMsg
İleti bilgi aldığı bir msg yapısına yönelik işaretçinin.
hWnd
İletilerini incelenmesi olan pencere kolu.
wMsgFilterMin
İncelenmesi için iletileri aralığındaki ilk iletiyi değerini belirtir.
wMsgFilterMax
İncelenmesi için iletileri aralığındaki son değerini belirtir.
wRemoveMsg
İletilerin nasıl işleneceğini belirtir. Bu parametre aşağıdaki değerlerden biri olabilir:
Değer Anlamı
PM_NOREMOVE Mesaj, PeekMessage tarafından işlendikten sonra sıradan kaldırılmaz.
PM_REMOVE İleti, işlendikten sonra PeekMessage tarafından sıradan kaldırılmadan.

İsteğe bağlı olarak, pm_noremove ya da pm_remove ile PM_NOYIELD değeri birleştirebilirsiniz. Bu bayrak sistem boşta gitmek için arayan için bekleyen herhangi bir iş parçacığı serbest engeller (bkz: WaitForInputIdle).

Varsayılan olarak, tüm ileti türlerini işlenir. Yalnızca belirli ileti işlenmesi gerektiğini belirtmek için daha aşağıdaki değerlerden birini belirtin:
Değer Anlamı
PM_QS_INPUT Windows NT 5.0 ve Windows 98: İşlem iletileri fare ve klavye.
PM_QS_PAINT Windows NT 5.0 ve Windows 98: Boya iletilerini işleme.
PM_QS_POSTMESSAGE Windows NT 5.0 ve Windows 98: Zamanlayıcılar ve kısayol tuşları da dahil olmak üzere tüm postalanan iletileri işleme.
PM_QS_SENDMESSAGE Windows NT 5.0 ve Windows 98: İşlemin tüm gönderilen iletiler.

Dönüş değerleri

Bir ileti varsa, dönüş değeri sıfır.

Hiçbir ileti varsa, dönüş değeri sıfırdır.

Açıklamalar

GetMessage işlevinden farklı olarak, PeekMessage işlevi dönmeden önce sıraya yerleştirilecek ileti beklemez.

PeekMessage yalnızca pencerenin hWnd parametresi veya IsChild işlevi tarafından ve wMsgFilterMin ve wMsgFilterMax parametreleri ile verilen mesaj değerleri aralığında belirtilen alt öğelerinden herhangi biri tarafından tanımlanan ilişkilendirilmiş iletileri alır. HWnd null ise, PeekMessage arama yapma geçerli iş parçacığına ait herhangi bir pencere iletilerini alır. (PeekMessage diğer ipler ait windows iletilerini almak değil.) HWnd –1 ise, PeekMessage PostThreadMessage işlevi tarafından yayınlanmıştır yalnızca iletileri hWnd değeri NULL, döndürür. WMsgFilterMin ve wMsgFilterMax iki sıfır, PeekMessage tüm kullanılabilir iletilerini döndürür (yani, filtre yok aralığı gerçekleştirilir).

WM_KEYFIRST ve wm_keylast sabitleri, tüm klavye iletilerini almak üzere filtre değerleri olarak kullanılabilir; WM_MOUSEFIRST ve wm_mouselast sabitleri tüm fare iletileri almak için kullanılan.

PeekMessage işlevi sıradan olmayan WM_PAINT iletileri normalde kaldırmaz. Onlar işleninceye kadar WM_PAINT iletileri sırada kalır. WM_PAINT ileti boş güncelleştirme bölgesi varsa, ancak PeekMessage sıradan kaldırmak.

Windows ce: Boş güncelleştirme bölge WM_PAINT iletileri kuyruktan kaldırılmaz.

QuickInfo

nbsp; Windows &NT: sürüm 3.1 veya üstü gerektirir.
Windows:Windows 95 veya sonraki sürümleri gerektirir.
Windows ce:Sürüm 1.0 veya daha ilerisini gerektirir.
Header:WINUSER.h ilan etti.
İçe Library:User32.lib kullanın.
Unicode:Unicode ve ANSI sürümleri Windows NT olarak uygulanır.

Ayrıca bkz:

İleti ve ileti sıraları genel bakış, ileti ve ileti sırası işlevleri, GetMessage, IsChild, msg, WaitForInputIdle, WaitMessage

Index