首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 智慧裝置開發:自製 NotifyIcon 托盤圖示類別架構設計 (第 1 部分)

     編輯:關於C語言

背景動機

.NET Compact Framework (CF) 未內建 NotifyIcon 控制項。發現 PC 端可用 Shell_NotifyIcon + MessageWindow 實作托盤圖示,經查證 CF 同樣支援:

  • Microsoft.WindowsCE.Forms.MessageWindow 類別存在,可覆寫 WndProc 攔截訊息。
  • Windows CE Platform SDK 包含 Shell_NotifyIcon 函數 (位於 coredll.dll)。

核心元件說明

MessageWindow

提供有效視窗控制代碼 (Hwnd) 與 WndProc 處理原生視窗訊息。繼承並覆寫 WndProc 即可捕捉托盤圖示的點擊、滑鼠事件。

Shell_NotifyIcon 簽名

[DllImport("coredll.dll")]
internal static extern int Shell_NotifyIcon(int dwMessage, ref NOTIFYICONDATA pnid);

NOTIFYICONDATA 結構 (需 ref 傳遞指標):

struct NOTIFYICONDATA
{
    int cbSize; IntPtr hWnd; uint uID; uint uFlags;
    uint uCallbackMessage; IntPtr hIcon;
}
  • hWnd:接收托盤圖示通知訊息的視窗控制代碼。
  • uCallbackMessage:自訂訊息碼 (如 WM_USER + 2001)。

執行提示

表單最大化會遮住任務列,需最小化表單才能看見托盤圖示。完整類別與範例下載:https://www.cnblogs.com/Files/ttinfo/NotifyIconCf.rar

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved