程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> delphi Shell_NotifyIcon(系統托盤圖標API函數)

delphi Shell_NotifyIcon(系統托盤圖標API函數)

編輯:Delphi

將程序隱藏於系統托盤除了使用 TrayIcon 控件外,還可以用以下方法:

使用Windows API 函數:

Shell_NotifyIcon(dwMessage: DWORD; lpData: PNotifyIconData);

1.dwMessage:[輸入參數] 說明要執行的動作。動作的可選值如下:

       NIM_ADD 增加一個圖標到托盤區

NIM_DELETE 從托盤區刪除一個圖標

NIM_MODIFY 修改圖標

NIM_SETFOCUS 將焦點(Focus)返回托盤區。這個消息通常在托盤區圖標完成了用戶界面下的操作後發出。比如一個托盤圖標顯示了一個快捷菜單,然後用戶按下ESC鍵了操作,這時使用NIM_SETFOCUS將焦點繼續保留在托盤區。該項僅在系統外殼與常用控制DLL( Shlwapi.dll與Comctl32.dll)5.0以上版本才可用。

NIM_SETVERSION 指定使用特定版本的系統外殼與常用控制DLL。缺省值為0,表示使用Win95方式。該項在系統外殼與常用控制DLL 5.0以上版本才可用。

2.lpdata:[輸入參數] 一個指向NOTIFYICONDATA結構的指針。 結構的說明如下:

cbSize 以字節計的結構大小,以適應不同版本。

hWnd 接收Windows消息的窗口句柄。

uID 托盤圖標的ID。

uFlags 指示結構中的哪些成員包含有效數據,可選值:NIF_ICON, NIF_MESSAGE,NIF_TIP,NIF_STATE,

           NIF_INFO,NIF_GUID。

uCallbackMessage 回調消息ID,由用戶自定義。與一個自定義的消息處理函數關聯。

hIcon 托盤圖標的句柄。

szTip 托盤圖標的提示字符串。

注意:以下數據成員僅限系統外殼與常用控制DLL 5.0及以上版本才有效!

  dwState 圖標的狀態:NIS_HIDDEN-隱藏,或NIS_SHAREDICON-可視。

  dwStateMask 圖標狀態掩碼,用以設置dwState

  szInfo 氣球型提示(Balloon ToolTip)的字符串。

  uTimeout 以毫秒計的提示顯示時間

  uVersion 確定所依賴的版本。0-Win95,NOTIFYICON_VERSION-Win2000

  szInfoTitle 氣球型提示的標題

  dwInfoFlags 設置氣球型提示所用的圖標(類似MessageBox中所使用的圖標):

    NIIF_ERROR   錯誤

    NIIF_INFO    信息

    NIIF_NONE    沒有圖標

    NIIF_WARNING  警告

    NIIF_ICON_MASK 6.0版本保留

    NIIF_NOSOUND  限6.0版本,不播放對應的聲音

3.返回值:成功時函數返回TRUE,否則FALSE。

例子:添加系統托盤圖標

var Tray:NOTIFYICONDATA;

Tray.cbSize:=sizeof(Tray);

Tray.Wnd:=Self.Handle;

Tray.uID:=9998;

Tray.uFlags:=NIF_ICON+NIF_MESSAGE+NIF_TIP;

Tray.uCallbackMessage:=WM_USER;

Tray.hIcon:=application.Icon.Handle ;

Tray.szTip:=定時關機;
     Shell_NotifyIcon(NIM_ADD,@Tray);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved