5
A
回答
2
是你可以簡單地定義自己的郵件作爲比WM_USER常數較大:
#define WM_MY_MESSAGE (WM_USER + 1000)
然後你就可以使用正常的ON_COMMAND/ON_NOTIFY宏。
像這樣的用戶定義消息的問題是,其他程序可以使用與您相同的常量。而你可能會收到別人發來的錯誤消息。
爲了解決這個問題,您可以使用RegisterWindowMessage的註冊信息。
這裏有一個很好的user defined messages/registered messages破壞。
1
您可以使用「RegisterWindowMessage」創建新的唯一消息。
來自MSDN:「RegisterWindowMessage函數定義了一個新的窗口消息,保證在整個系統中唯一。消息值可以在發送或發送消息時使用。
6
這取決於你正在使用的消息。 This link顯示了Win32消息的「地址空間」細分。
WM_USER
是不是在一般情況下是正確的解決方案。 WM_USER
消息「可以由應用程序定義並用於在私有窗口類中發送消息這些值不能用於定義在整個應用程序中有意義的消息,因爲某些預定義的窗口類已經定義了此範圍內的值。
您最好分配一個處於WM_APP
範圍內的消息ID。
RegisterWindowMessage
如果您希望讓系統在運行時爲您分配消息ID,它非常有用。 「所有註冊相同字符串的應用程序都可以使用關聯的消息編號來交換消息」,因此,當您需要使用自定義消息進行簡單的進程間通信時,您可以使用RegisterWindowMessage
。
相關問題
- 1. 自定義消息和默認消息
- 2. 來自PowerPoint點擊器的WM消息
- 3. 如何使用自己的消息泵來運行表單?
- 4. 是否有Control.Invoke泵消息?
- 5. 在Wicket中定義自己的反饋消息
- 6. 自定義驗證消息
- 7. 自定義彈出消息
- 8. 自定義消息框WPF
- 9. Validates_overlap自定義消息?
- 10. 自定義錯誤消息
- 11. 自定義消息(JSF)
- 12. JSF 2.0自定義消息
- 13. .NET中的消息泵Windows服務
- 14. 無限循環中的Windows消息泵
- 15. C#System.Net.WebException檢索自定義404消息
- 16. 自定義異常消息C#
- 17. 在MiniProfiler中顯示自定義消息
- 18. 在Drupal中添加自定義消息
- 19. 泵消息在長時間操作
- 20. GUI消息隊列(消息泵 - 並行或串行)
- 21. Wix:用自己開發的自定義消息框替換System.Message
- 22. Django的allauth自定義消息:與HTML/CSS樣式消息
- 23. jqgrid中的自定義錯誤消息
- 24. 在輸入標記中添加綁定錯誤消息到自定義消息
- 25. 定義NDEF消息
- 26. Laravel 5:自定義中止()消息
- 27. Laravel - 捕獲自定義中止消息
- 28. 按Ctrl + Alt + Delete鍵WM消息編號
- 29. Twilio:如何根據用戶以前的消息在python中用自定義消息回覆用戶消息?
- 30. Application.Exit沒有殺死消息泵?
當然要注意,其他程序不應該使用'WM_USER-0x7FFF'範圍向您發送消息。哎呀,他們甚至不應該在程序中發送。爲此你有'WM_APP-0xBFFF範圍'。 WM_USER是窗口類的內部,而不是程序。 – MSalters 2010-05-21 08:55:42