GetMessage

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);
 

Parametreleri

lpMsg
İş parçacığının ileti sırasından ileti bilgilerini alır bir msg yapısına yönelik işaretçinin.
hWnd
Alınacak olan iletileri olan pencere tanıtıcısı. Bir değer özel bir anlamı vardır.:
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.

wMsgFilterMin
Alınabilecek en düşük mesaj değeri tamsayı değerini belirtir.
wMsgFilterMax
Alınabilecek en yüksek ileti değeri tamsayı değerini belirtir.

Dönüş değerleri

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.

Açıklamalar

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.

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, IsChild, msg, PeekMessage, PostMessage, PostThreadMessage, WaitMessage

Index