Bagikan melalui


C28602

peringatan C28602: Hindari memanggil SendMessageTimeout dengan HWND_BROADCAST

Alat Analisis Kode melaporkan peringatan ini ketika aplikasi menggunakan SendMessageTimeout, bahkan ketika aplikasi meminta periode waktu habis untuk utas hanya 10 detik. Fungsi tidak kembali sampai setiap jendela kehabisan waktu. Aplikasi benar-benar dapat diblokir untuk jangka waktu yang dibutuhkan setiap jendela untuk merespons. Ini karena tidak mungkin untuk mengontrol waktu respons setiap HWND lainnya pada sistem.

Untuk memperbaikinya, pertimbangkan untuk menggunakan PostMessage sebagai gantinya, sehingga bukan panggilan pemblokiran. Atau, hindari penggunaan HWND_BROADCAST untuk mengarahkan pesan ke jendela tertentu.