簡體   English   中英

如何在系統托盤中找到圖標的位置

[英]How to find the location of the icon in the system tray

我有一個出現在系統托盤中的NotifyIcon控件。 如何在屏幕上找到圖標的位置(x,y)?

謝謝

實際上你可以做到這一點,這里的代碼向你展示了如何以及更多。

在NotifyIcon的任何鼠標事件中,只需查看Control.MousePosition,它包含鼠標的(x,y)。 可以使用這些(x,y)值在表單/控件上精確定位表單/控件的位置上的ContextMenu。

兩者的一個很好的例子是:

更多信息: http//code.msdn.microsoft.com/TheNotifyIconExample

經過漫長的試驗和錯誤之旅,以及我自己的通知圖標定位器的開發,我開發了一種找到最佳位置圖標的方法,到目前為止一直很好,直到我看到@zhwang SuperNotifyIcon這個驚人的項目。 該項目有三種方法可以找到通知圖標,范圍從不准確(如我自己的開發)到在Windows 7 API中使用new。 這是明確的答案。

你不能。 獲取系統托盤的窗口句柄並不困難,GetClassName()返回“ToolbarWindow32”,即標准TOOLBAR公共控件的類名。 請注意,64位操作系統有兩個。 然后你可以像TB_GETBUTTONINFO一樣向它發送消息。 首席警告是您不知道選擇哪個按鈕ID,並且返回的信息不包括按鈕位置。

哪個更好,按鈕移動而不能鎖定它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM