2012-05-10 5 views
5

Tôi đang cố gắng gỡ lỗi sự cố với cài đặt Windows của mình. Chi tiết không quan trọng, nhưng tôi đang tìm câu trả lời cho câu hỏi sau:Làm cách nào để tìm ra ai được gọi là SendMessage?

explorer.exe nhận được thông báo WM_SETTINGCHANGE. Trong WinDbg, tôi có thể phá vỡ WndProc thích hợp. Làm cách nào để tìm ra ai đã gửi tin nhắn? Đó là: có cách nào để theo dõi điều này trở lại quá trình gọi là SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, ...) không?

Trả lời

1

Thư Windows ẩn danh. ứng dụng gọi điện của bạn không có cách nào để xác định nơi họ đến từ trừ khi được thông báo định nghĩa một số cách để xác định người gửi (mà sẽ dễ dàng làm giả)

+0

Quy trình gọi sẽ chặn cho đến khi tin nhắn được gửi. Do đó, phải có một cơ chế RPC trong vở kịch. Tôi biết rằng có một cách để tìm người gọi trong một cuộc gọi COM qua xử lý. Tôi đang tự hỏi liệu có một cách để làm tương tự cho các tin nhắn Windows. –

+1

... và tôi không hỏi liệu ứng dụng của tôi có thể tìm ra được hay không. Tôi hỏi liệu WinDbg có thể tìm ra nó không. –