VC 製作系統托盤程式實現將視窗最小化到系統托盤

2021-05-17 13:51:14 字數 1100 閱讀 2344

vc 製作系統托盤程式實現將視窗最小化到系統托盤

2023年01月11日 星期五 10:24

前段時間因為要用到系統拖盤,所以研究了一下,在這裡記錄一下,免得以後忘了 ^_^

先在類中定義乙個結構變數notifyicondata pnid;然後在oninitdialog進行初始化

pnid.cbsize=(dword)sizeof(notifyicondata);//該結構體大小

pnid.hwnd=m_hwnd;    //視窗控制代碼

pnid.uid=(uint)m_hicon;      //圖示控制代碼

pnid.uflags=nif_icon|nif_message|nif_tip ; //圖示有效|自定義訊息有效|滑鼠指向顯示文字有效

pnid.ucallbackmessage=wm_mymessage;//自定義的訊息名稱

pnid.hicon=m_hicon;         //圖示控制代碼

strcpy(pnid.sztip,"這是乙個測試");//滑鼠指向所顯示的文字

實現最小化到系統拖盤,這定義乙個視窗的

onsize

事件void cmydlg::onsize(uint ntype, int cx, int cy)

}還原功能則先在cmydlg.h做下列操作:

#define wm_mymessage wm_user+101 //定義自定義訊息,加的這個值一般都要大於100

afx_msg lresult onmymessage(wparam wparam, lparam lparam); //在類中定義訊息響應函式

在begin_message_map(cmydlg, cdialog)

end_message_map() 之間查入訊息對映

on_message(wm_mymessage,onmymessage)

然後建立onmymessage函式。

lresult cmydlg::onmymessage(wparam wparam, lparam lparam)

return 0;

}如果要更改顯示圖示則先更改pnid結構裡的值,然後使用shell_notifyicon(nim_modify,&pnid);來更改。

VC程式設計製作系統托盤程式

windows作業系統中的某些程式執行時不顯示執行視窗,只在工作列上顯示乙個圖示,表示程式正在執行,使用者可以通過滑鼠與應用程式互動,比如金山毒霸等應用程式,我們有時也需要編制一些僅在後台執行的類似程式,為了不干擾前台程式的執行介面和不顯示不必要的視窗,應使程式執行時的主視窗不可見。同時將乙個圖示顯...

VC程式設計製作系統托盤程式

windows作業系統中的某些程式執行時不顯示執行視窗,只在工作列上顯示乙個圖示,表示程式正在執行,使用者可以通過滑鼠與應用程式互動,比如金山毒霸等應用程式,我們有時也需要編制一些僅在後台執行的類似程式,為了不干擾前台程式的執行介面和不顯示不必要的視窗,應使程式執行時的主視窗不可見。同時將乙個圖示顯...

VC程式設計製作系統托盤程式

windows 作業系統中的某些程式執行時不顯示執行視窗,只在工作列上顯示乙個圖示,表示程式正在執行,使用者可以通過滑鼠與應用程式互動,比如金山毒霸等應用程式,我們有時也需要編制一些僅在後台執行的類似程式,為了不干擾前台程式的執行介面和不顯示不必要的視窗,應使程式執行時的主視窗不可見。同時將乙個圖示...