GetMessage işlevi çağıran parçacığının ileti sırasından ileti alır ve belirtilen yapısında yerleştirir. Bu işlev belirtilen pencere ile ilişkili iki iletileri alabilir ve iplik iletileri üzerinden gönderilen PostThreadMessage işlevi. İşlevi ileti değerleri belirli bir aralıkta yalan iletileri alır. GetMessage diğer konuları veya uygulamalara ait Windows iletilerini almak değil.
bool GetMessage) lpmsg lpMsg, / / adres iletisi yapısıhwndhWnd, / / idare penceresiUINTwMsgFilterMin, / / ilk mesajıUINTwMsgFilterMax / / son mesaj);
Değer | Anlamı |
---|---|
NULL | İletiler için arama iş parçacığına ait herhangi bir pencere ve PostThreadMessage ile arama iplik yayınlanan iplik iletileri GetMessage alır. |
Fonksiyonu WM_QUIT dışında bir iletiyi alır, dönüş değeri sıfır.
Fonksiyonu WM_QUIT iletiyi alır, dönüş değeri sıfırdır.
Hata ise, dönüş değeri -1 olur. Örneğin, hWnd geçersiz pencere işleci veya geçersiz bir işaretçi lpMsg olduğunu işlev başarısız olur. Genişletilmiş hata bilgilerini için GetLastError.
Uygulama genellikle programdan çıkmak ve ana ileti döngüsü bitiş belirlemek için dönüş değeri kullanır.
GetMessage işlevi 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, GetMessage iletileri arayan iş parçacığına ait herhangi bir pencere ve PostThreadMessageüzerinden arama iplik yayınlanan konu iletileri alır. HWnd null değilse bile GetMessage iletileri diğer ipler ait windows veya arayan iş parçacığı dışındaki konuları almak değil. PostThreadMessage işlevi tarafından yayınlanan mesaj, konu, mesaj hWnd değeri NULL. WMsgFilterMin ve wMsgFilterMax iki sıfır, GetMessage tüm kullanılabilir iletilerini döndürür (yani, filtre yok aralığı gerçekleştirilir).
WM_KEYFIRST ve wm_keylast sabitleri, klavye girişi için ilgili tüm iletileri almak üzere filtre değerleri olarak kullanılabilir; WM_MOUSEFIRST ve wm_mouselast sabitleri, tüm fare iletileri almak için kullanılabilir. WMsgFilterMin ve wMsgFilterMax parametreleri hem sıfır ise, GetMessage (yani herhangi bir uygulamadan filtreleme) kullanılabilir tüm iletileri işlevi.
GetMessage WM_PAINT iletileri sıradan kaldırmaz. İletileri işleme kadar kuyrukta kalır.
İşlevin dönüş değeri sıfır, olabileceğini unutmayın sıfır ya da -1. Böylece, kodu a?a?ydaki gibi kaçınmak gerekir:
(GetMessage (lpMsg, hWnd, 0, 0))...
-1 Dönüş değeri olasılığını tür kod önemli uygulama hatalarına neden anlamına gelir.
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.
İleti ve ileti sıraları genel bakış, ileti ve ileti sırası işlevleri, IsChild, msg, PeekMessage, PostMessage, PostThreadMessage, WaitMessage