İleti gönderme

PostMessage işlevini kullanarak bir ileti sıraya ileti gönderebilir. PostMessage bir iş parçacığının ileti sırasının sonuna bir mesaj yerleştirir ve hemen için iletiyi işlemek iş parçacığı beklemeden döner. İşlev parametreleri, bir pencere tanıtıcısı, bir ileti tanımlayıcısı ve iki mesaj parametreleri içerir. Sistem bu parametreler msg yapısına kopyalar, yapısı, zaman ve pt üyeleri doldurur ve yapısını ileti sırasına yerleştirir.

Sistem PostMessage fonksiyonu ile geçirilen pencere tanıtıcısı hangi konu iletiyi sıraya ileti alması gereken belirlemek için kullanır. Tanıtıcı hwnd_topmost ise, sistem iş parçacığına ileti kuyrukları tüm üst düzey Windows iletisi gönderir.

Belirli iş parçacığına ileti kuyruğuna bir mesaj göndermek için PostThreadMessage işlevini kullanabilirsiniz. İlk parametre bir pencere tanıtıcısı yerine, bir iş parçacığı tanımlayıcısı olması dışında PostMessageiçin PostThreadMessage benzer. İş parçacığı tanımlayıcısı arayarak alabilirsiniz GetCurrentThreadId işlevi.

Bir ileti döngüsü çıkmak için PostQuitMessage işlevini kullanın. PostQuitMessage şu anda yürütülen iplik WM_QUIT iletisi gönderir. İş parçacığının ileti döngüsü sona erer ve WM_QUIT mesaj karşılaştığında denetim sistemine döner. Uygulama genellikle PostQuitMessage wm_destroy iletiye yanıt olarak aşağıdaki örnekte gösterildiği gibi aramalar.

case wm_destroy: / / temizleme görevleri gerçekleştirmek. 
 
    PostQuitMessage(0); 
    sonu