funcţia SendMessage
Funcția SendMessage trimite mesajul specificat într-o fereastră sau ferestre. Funcția solicită procedura fereastra pentru fereastra specificată și nu se întoarce la fereastra până când procedura a procesat mesajul.
Pentru a trimite un mesaj imediat și valoarea de returnare, utilizați SendMessageCallback sau SendNotifyMessage. Pentru a plasa un mesaj în coada de mesaje firul și a reveni imediat valoarea, folosiți funcția PostMessage sau PostThreadMessage.
[În] Manipulați la fereastra a cărei procedură fereastră va primi mesajul. Dacă această opțiune - HWND_BROADCAST. un mesaj este trimis la toate ferestrele de nivel superior în sistem, inclusiv blocate sau invizibile, care nu au proprietar, suprapunere și ferestre pop-up; dar mesajul nu este trimis la ferestre pentru copii.
[În] Specifică mesajul care va fi trimis.
[În] Specifică informații suplimentare-mesaj specific.
[În] Specifică informații suplimentare-mesaj specific.
Valoarea returnată determină rezultatul prelucrării mesajului; depinde de mesajul trimis.
Aplicațiile care comunică utilizând caseta HWND_BROADCAST. Trebuie să utilizați funcția RegisterWindowMessage. pentru a primi un mesaj unic pentru comunicarea între aplicații.
Sistemul efectuează sortarea numai mesaje de sistem (care variază de la 0 la WM_USER). Pentru a trimite alte mesaje (care sunt mai mari WM_USER valoare) pentru un alt proces, aveți nevoie pentru a face un fel special (marshalling).
Dacă fereastra specificat a fost creat de firul de asteptare, procedura fereastra este numit imediat ca o subrutină. Dacă fereastra specificat a fost creat de un alt fir, sistemul trece pe la acest fir și solicită procedura fereastra corespunzătoare. Mesajele trimise între firele de execuție sunt prelucrate, doar atunci când firul de primire execută mesaje de cod de ștergere. Firul a trimite este blocat, atâta timp cât firul de primire nu procesează mesajul. Cu toate acestea, cu plecare thread va procesa mesajele primite asincrone (extraordinare), în timp ce așteaptă procesarea mesajului. Pentru a preveni acest lucru, utilizați funcția SendMessageTimeout cu un SMTO_BLOCK bifă. Pentru mai multe informații cu privire la rapoartele timpurii, a se vedea. Do (asincrone) mesaje nu din coada de așteptare.
Windows 95/98 / Me: SendMessageW sprijinit subrutina Microsoft Layer pentru Unicode (MSLU). Pentru a utiliza o subrutină, trebuie să adăugați anumite fișiere la cererea dumneavoastră, astfel cum sunt definite în stratul de Microsoft pentru Unicode pe Windows 95/98 / Me sisteme.