A. VC++如何將程序最小化到托盤
一、托盤簡介
所謂的「托盤」,在Windows系統界面中,指的就是下面任務條右側,有系統時間等等的標志的那一部分。在程序最小化或掛起時,但有不希望占據任務欄的時候,就可以把程序放到托盤區。其實,托盤區的編程很簡單,下面簡要闡述一下子嘍^_^
2
二、托盤編程相關函數
其實呢,把程序放到托盤上的本質就是先在托盤區繪制一個圖標,然後把程序隱藏不見,再對托盤的圖標進行消息處理,就可以了。
繪制圖標以及確定圖標所傳送消息的函數只有一個,那就是——————
WINSHELLAPI BOOL WINAPI Shell_NotifyIcon(
DWORD dwMessage,
PNOTIFYICONDATA pnid
);
這個函數呢,負責向系統傳遞消息,以添加、修改或刪除托盤區的圖標。她的返回值呢,是個布爾類型的。就是說,如果返回0,那就是成仁啦,非0才成功。
參數dwMessage 是表示這個函數的應用功能是哪一方面,是添加、刪除,還是修改圖標。如果是添加,則它的值為NIM_ADD;刪除則是NIM_DELETE;而修改是NIM_MODIFY。參數pnid就是具體的和程序在托盤區的圖標有關系的結構了。它的定義如下:
typedef struct _NOTIFYICONDATA {
DWORD cbSize;
HWND hWnd;
UINT uID;
UINT uFlags;
UINT uCallbackMessage;
HICON hIcon;
char szTip[64];
} NOTIFYICONDATA, *PNOTIFYICONDATA;
下面就對該結構各個參數進行刨析:
cbSize : 結構的長度,用「位」來做單位。一般在程序中,我們用(DWORD)sizeof(NOTIFYICONDATA) 給它賦值。
HWnd : 一個句柄,如果對托盤中的圖標進行操作,相應的消息就傳給這個句柄所代表的窗口。自然了,大多數情況下是this->m_hWnd嘍。
uID : 在工程中定義的圖標ID
uFlags : 這個成員標志著其他哪些成員的數據是有效的,分別為NIF_ICON, NIF_MESSAGE, NIF_TIP,分別代表著數據有效的成員是hIcon, uCallbackMessage, szTip。當然,三個值可以用「|」聯繫到一起。下面分別對涉及到的成員進行闡述
hIcon : 要增加,刪除或修改的圖標句柄。如果只知道個uID, 一般可能會用函數LoadIcon來得到句柄。例如LoadIcon ( AfxGetInstanceHandle() ,MAKEINTRESOURCE (IDR_MAINFRAME) )。
uCallbackMessage : 這在對托盤區的操作中,是比較重要的數據成員。這是個消息標志,當用滑鼠對托盤區相應圖標進行操作的時候,就會傳遞消息給Hwnd所代表的窗口。所以說,在uFlags中,一般都得標志它有效。這里一般都是自定義的消息。
szTip : 滑鼠移動到托盤圖標上時的提示文字。
3
三、托盤編程例子
有關托盤編程的基礎知識呢,也就上面這些了。下面呢,我們就進入具體的實戰演練階段,舉幾個托盤編程的例子瞧瞧,加深理解。
1、將程序最小化到系統托盤區的函數toTray()。
void CTimeWakeDlg::toTray()
{
NOTIFYICONDATA nid;
nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA);
nid.hWnd=this->m_hWnd;
nid.uID=IDR_MAINFRAME;
nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP ;
nid.uCallbackMessage=WM_SHOWTASK;//自定義的消息名稱
nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));
strcpy(nid.szTip,"計劃任務提醒");//信息提示條為「計劃任務提醒」
Shell_NotifyIcon(NIM_ADD,&nid);//在托盤區添加圖標
ShowWindow(SW_HIDE);//隱藏主窗口
}
這是個很簡單的函數,裡面首先給NOTIFYICONDATA賦值,然後調用shell_NotifyIcon, 頭一個參數是NIM_ADD,表示添加。然後用函數ShowWindow 隱藏主窗口,這樣,就實現了將程序最小化到系統托盤區的任務了。
2、程序已經最小化到托盤區了,但是呢,對托盤圖標的操作如何進行呢?這就體現了結構NOTIFYICONDATA的成員uCallbackMessage 的作用了。它所提供的作用就是,當用戶用滑鼠點擊托盤區的圖標的時候(無論是左鍵還是右鍵),會向hWnd所代表的窗口傳送消息,如果是上例,消息的名稱就是WM_SHOWTASK。根據VC的消息機制,對自定義消息增加消息響應函數。
在頭文件的//{{AFX_MSG和//}}AFX_MSG之間聲明消息響應函數:
afx_msg LRESULT onShowTask(WPARAM wParam,LPARAM lParam);
然後在CPP文件中添加消息映射。在BEGIN_MESSAGE_MAP和END_MESSAGE_MAP 之間加入:
ON_MESSAGE(WM_SHOWTASK,onShowTask)將消息和消息響應函數映射起來。
然後就是在CPP文件中加入函數onShowTask的實現了:
LRESULT CTimeWakeDlg::onShowTask(WPARAM wParam,LPARAM lParam)
//wParam接收的是圖標的ID,而lParam接收的是滑鼠的行為
{
if(wParam!=IDR_MAINFRAME)
return 1;
switch(lParam)
{
case WM_RBUTTONUP://右鍵起來時彈出快捷菜單,這里只有一個「關閉」
{
LPPOINT lpoint=new tagPOINT;
::GetCursorPos(lpoint);//得到滑鼠位置
CMenu menu;
menu.CreatePopupMenu();//聲明一個彈出式菜單
//增加菜單項「關閉」,點擊則發送消息WM_DESTROY給主窗口(已
//隱藏),將程序結束。
menu.AppendMenu(MF_STRING,WM_DESTROY,"關閉");
//確定彈出式菜單的位置
menu.TrackPopupMenu(TPM_LEFTALIGN,lpoint->x,lpoint->y,this);
//資源回收
HMENU hmenu=menu.Detach();
menu.DestroyMenu();
delete lpoint;
}
break;
case WM_LBUTTONDBLCLK://雙擊左鍵的處理
{
this->ShowWindow(SW_SHOW);//簡單的顯示主窗口完事兒
}
break;
}
return 0;
}
B. 怎麼把一個程序隱藏或者弄到托盤里去
你如果要徹底隱藏軟體運行,可以去網上下載一個叫「無憂隱藏」的軟體,(此軟體是收費的,不過網上已有破解的了),先啟動你要隱藏的軟體,然後啟動「無憂隱藏」,在其主界面使用滑鼠右鍵單擊你要隱藏的程序,選擇「將本程序添加至快速隱藏列表」,以後只要領導來了,只要按下滑鼠滾輪即可。要恢復,按住左鍵不放,然後單機右鍵就行了。如果你要把程序最小化到系統托盤,推薦使用Alltotray,在多特有的下,是漢化的。具體使用方法就不說了,很方便的,如果找不到,我可以發到你郵箱。有問題再問我吧,希望我的回答對你有所幫助。
C. 怎樣把程序放在系統托盤里
最小化到系統托盤
D. 請問怎樣使程序在最小化後圖標放在任務欄的托盤上
現在藉助Window
Minimizer這款小工具的幫忙便實現
以上操作了。軟體下載完畢後進行解壓,由於是綠色軟體並不需安
裝,雙擊應用程序圖標運行Window
Minimizer,這時該軟體程序圖
標會顯示在系統托盤區域中。如果想將某個任務欄窗口最小化到系
統托盤,可以直接在其窗口按鈕上單擊一下滑鼠右鍵,然後在彈出
的菜單中選擇最下方的「最小化到托盤區」一項命令就行了,此時該
窗口圖標便移動到托盤中去了。以後如想將其恢到任務欄中,再用
滑鼠左鍵在托盤中點擊一下該窗口圖標就可以了。
E. 高分求:如何讓程序運行後出現在屏幕右下角的"系統托盤"里
新手如何裝一個完美的操作系統?
A:相信對於那些大蝦級的人物來說裝系統根本不是什麼難事,不過是不停的點「下一步」罷了!但對於菜鳥級人物也許就是一件難事了。
今天我們就以裝windowsXP為例,把本人裝系統的一些經驗告訴大家,希望會對你們有所幫助。
裝系統前:
先想好要將系統裝在哪個盤,然後將該盤整理。這里所說的整理,就是將有用的文件放到另一個盤中保存起來,以防格式化的時候誤刪掉。還有就是如果你的機器硬體驅動盤找不到了,建議使用工具軟體將驅動保存下來。Windows優化大師可以做到這點。
需要注意的就是,「我的文檔」里的東西都算C盤里的東西,別忘了保存它裡面的文件。
至於收藏夾等的路徑因系統不同而不同。一般在C:\Documents and Settings下面有一個以你機器登陸名命名的文件夾,打開後就會看到收藏夾,復制到別的盤即可。
做好以上這些,基本上就可以開始裝系統了。重新啟動計算機,然後按DEL鍵進入BIOS設置。有的人在這里不知道什麼時候按DEL鍵,那就告訴你個笨辦法,只要重啟了,就一直按好了。還有就是,因為主板生產廠家的不同,進入BIOS的快捷鍵也有所區別。有的是F2,有的是F10,一般開機時在屏幕低端都有提示。
進入BIOS後切勿隨便改動,因為這裡面的東西都是相當重要的,如果改錯可能會連系統都進不去。我們只需要改動計算機啟動時的盤符順序就可以了。
這個怎麼找還真不好說,因為BIOS設置也會因主板不同而不同。一般在BOOT標簽下,設置用光碟機啟動計算機就可以。BIOS設置時右邊都會有相關提示,菜鳥們可根據提示來做。弄好後先別急著重啟,要把安裝盤放進光碟機中,再按F10保存並重新啟動。
這時要注意觀察,啟動時計算機會先檢測光碟機,屏幕下面出現一行字元(具體英語忘掉了,汗),意思就是讓你按任意鍵進入光碟啟動。按一下,聽到光碟機開始瘋轉,裝系統的過程就正式開始了!
裝系統中:
看屏幕中的提示,因為都是中文的所以幾乎不需要介紹什麼。首先需要用戶選擇是安裝新的操作系統還是修復,選擇安裝新的操作系統,然後按F8同意那些協議,出現盤符選擇界面。
用鍵盤上下鍵移動游標至你要安裝的盤符上,按「D」鍵,系統會提示說刪除該盤將會刪除所有資料,不管它,接著按「L」鍵再確定刪除。完成後屏幕返回到剛才的界面。然後選擇「在當前盤安裝WindowsXP」(大概意思,原文不記的了)後按回車,系統提示要格式化該盤。選擇「快速NTFS方式」格式化,此時出現格式化界面,稍候等進度條到100%時計算機開始自動裝入光碟機中的安裝文件,大概時間8分鍾左右(視光碟機速度而定),完成後系統自動重啟。
注意,此時要將光碟機里的安裝盤取出,為的是避免重啟後又自動讀取。
重啟後再次進入安裝界面,此時將安裝盤再放入後安裝繼續,幾乎不需要你做任何設置,點「下一步」就可以。不過中間有一個輸入序列號的過程得動動手。
這個過程大概40分鍾左右,其間屏幕會顯示一些關於windowsXP的相關功能信息,可以留意一下。完成後系統提示將安裝盤取出。你拿出來後,重啟,順便進BIOS將開機啟動順序改回至硬碟啟動,基本上就完成安裝過程了!
裝系統後:
一般在進入系統後常用硬體的驅動都已經安裝好,但不是全部。這時就需要用戶自己來安裝。首先查看機器哪些驅動未安裝!右鍵點擊「我的電腦」,選「屬性」,在「硬體」標簽里點擊「設備管理器」,凡是在設備前面有一個問號圖標的均表示該設備有問題。雙擊,按上面的提示將驅動安裝好。直到前面的「問號」全部消失為止。
需要裝的驅動一般有顯卡、音效卡、網卡、貓,一些比較高級的機器還有紅外、藍牙等適配器的驅動。
下面就是對系統的一些優化設置,如果你的機器配置不高,建議按我說的做。
1〉 右鍵單擊屏幕,選擇「屬性」。點擊「外觀」標簽,在「外觀與按鈕」的下拉菜單中選擇「windows經典樣式」,然後在「設置」標簽里,按個人喜好調整屏幕解析度大寫,一般為1024*768。如果你用的是普通CRT顯示器,需要再點「監視器」標簽,將「屏幕刷新頻率」調整至「85赫茲」,點確定!屏幕看起來是不是舒服多了?
2〉 右鍵單擊任務欄,選擇「屬性」,在「任務欄」標簽項中將「顯示快速啟動」前的復選框選中。然後再點擊「「開始」菜單」標簽,將菜單類改成「經典「開始」菜單」,點「確定」,看看現在的樣子是不是要舒服點呢?(嘿,我的個人感覺!)
3〉 右鍵單擊我的電腦,選擇「高級」標簽。單擊性能項里的「設置」按鈕。在視覺效果項里先點擊「調整為最佳性能」,然後在下面的復選項里選中「在文件夾中使用常見任務」。如下圖所示:
做好這步,然後再點「視覺效果」旁邊的「高級」標簽,在「虛擬內存」處點「設置」按鈕。在打開的屬性框里,先將游標定位在C盤,點擊下面的「無分頁文件」,然後再點擊D盤(你機器上哪個盤空間大就點哪個),在自定義大小里輸入相應數值,點旁邊的「設置」按鈕,再點擊確定。如下圖所示:
虛擬內存的設置要根據本身內存容量來定!一般情況為內存本身容量的1.5倍即可!
4〉 右鍵單擊「我的電腦」,選擇「系統還原」標簽,如果不需要的話選擇「在所有驅動器上關閉系統還原」,這個一般人都不需要!
5〉 此時你會發現屏幕右下角系統托盤處有一個「盾」樣的圖標,那個是windowsXP的安全中心。雙擊打開它,在你沒有安裝自己的殺毒軟體的時候,將「防火牆」和「病毒防護」都開啟。這樣安全性會相對較高一些!
6〉 做好這些後單擊「開始」,選擇「Windows Update」,此時自動打開IE連接到windows升級網站,按照它上面的提示進行升級,步驟必不可少!升級完成後可能會需要重新啟動計算機。
7〉 打開任意一個文件夾,從菜單欄里點擊「工具」,選擇「文件夾選項」。單擊「查看」標簽,將「不緩存縮略圖」、「記住每個文件夾的視圖位置」、「滑鼠指向文件夾或桌面項時顯示提示信息」這三個類前的勾去掉。再點擊上方的「應用到所有文件夾」,點確定!
8〉 右鍵單擊IE,選擇「屬性」,在「常規」標簽中,點擊「使用空白頁」,再點確定!
最後的話
到這里,我們的新手裝系統就基本介紹完了,但筆者還想提醒大家幾點:
1〉 殺毒軟體一定要裝,並且經常更新,定期殺毒,不要以為不亂上網站就不會中毒。
2〉 系統一定要打補丁,微軟每個月第二個星期發布補丁,屆時一定按我上面提到的方法去更新。
3〉 切勿胡亂下載安裝軟體。很多不正規的網站提供的下載鏈接可能是帶有病毒的,或者是綁定了一堆垃圾軟體。請下載的時候一定要注意查看選項,把不需要的軟體前的勾去掉。
4〉 不要隨便改動計算機設置,不要隨意刪除計算機的文件 重裝系統後第一天沒覺出來,等2天後就出現了,進入桌面後哪個圖標也打不開,要等1分鍾左右吧,才見桌面圖標閃一下,就和刷新了一下一樣,這樣才能打開程序了!!!!並且原來我點的ADSL才出現連接界面,哪個高手知道怎麼回事呀,他們有的說是殺毒軟體的事
裝系統中:
看屏幕中的提示,因為都是中文的所以幾乎不需要介紹什麼。首先需要用戶選擇是安裝新的操作系統還是修復,選擇安裝新的操作系統,然後按F8同意那些協議,出現盤符選擇界面。
用鍵盤上下鍵移動游標至你要安裝的盤符上,按「D」鍵,系統會提示說刪除該盤將會刪除所有資料,不管它,接著按「L」鍵再確定刪除。完成後屏幕返回到剛才的界面。然後選擇「在當前盤安裝WindowsXP」(大概意思,原文不記的了)後按回車,系統提示要格式化該盤。選擇「快速NTFS方式」格式化,此時出現格式化界面,稍候等進度條到100%時計算機開始自動裝入光碟機中的安裝文件,大概時間8分鍾左右(視光碟機速度而定),完成後系統自動重啟。
注意,此時要將光碟機里的安裝盤取出,為的是避免重啟後又自動讀取。
重啟後再次進入安裝界面,此時將安裝盤再放入後安裝繼續,幾乎不需要你做任何設置,點「下一步」就可以。不過中間有一個輸入序列號的過程得動動手。
這個過程大概40分鍾左右,其間屏幕會顯示一些關於windowsXP的相關功能信息,可以留意一下。完成後系統提示將安裝盤取出。你拿出來後,重啟,順便進BIOS將開機啟動順序改回至硬碟啟動,基本上就完成安裝過程了!
裝系統後:
一般在進入系統後常用硬體的驅動都已經安裝好,但不是全部。這時就需要用戶自己來安裝。首先查看機器哪些驅動未安裝!右鍵點擊「我的電腦」,選「屬性」,在「硬體」標簽里點擊「設備管理器」,凡是在設備前面有一個問號圖標的均表示該設備有問題。雙擊,按上面的提示將驅動安裝好。直到前面的「問號」全部消失為止。
需要裝的驅動一般有顯卡、音效卡、網卡、貓,一些比較高級的機器還有紅外、藍牙等適配器的驅動。
下面就是對系統的一些優化設置,如果你的機器配置不高,建議按我說的做。
1〉 右鍵單擊屏幕,選擇「屬性」。點擊「外觀」標簽,在「外觀與按鈕」的下拉菜單中選擇「windows經典樣式」,然後在「設置」標簽里,按個人喜好調整屏幕解析度大寫,一般為1024*768。如果你用的是普通CRT顯示器,需要再點「監視器」標簽,將「屏幕刷新頻率」調整至「85赫茲」,點確定!屏幕看起來是不是舒服多了?
2〉 右鍵單擊任務欄,選擇「屬性」,在「任務欄」標簽項中將「顯示快速啟動」前的復選框選中。然後再點擊「「開始」菜單」標簽,將菜單類改成「經典「開始」菜單」,點「確定」,看看現在的樣子是不是要舒服點呢?(嘿,我的個人感覺!)
3〉 右鍵單擊我的電腦,選擇「高級」標簽。單擊性能項里的「設置」按鈕。在視覺效果項里先點擊「調整為最佳性能」,然後在下面的復選項里選中「在文件夾中使用常見任務」。如下圖所示:
做好這步,然後再點「視覺效果」旁邊的「高級」標簽,在「虛擬內存」處點「設置」按鈕。在打開的屬性框里,先將游標定位在C盤,點擊下面的「無分頁文件」,然後再點擊D盤(你機器上哪個盤空間大就點哪個),在自定義大小里輸入相應數值,點旁邊的「設置」按鈕,再點擊確定。如下圖所示:
虛擬內存的設置要根據本身內存容量來定!一般情況為內存本身容量的1.5倍即可!
4〉 右鍵單擊「我的電腦」,選擇「系統還原」標簽,如果不需要的話選擇「在所有驅動器上關閉系統還原」,這個一般人都不需要!
5〉 此時你會發現屏幕右下角系統托盤處有一個「盾」樣的圖標,那個是windowsXP的安全中心。雙擊打開它,在你沒有安裝自己的殺毒軟體的時候,將「防火牆」和「病毒防護」都開啟。這樣安全性會相對較高一些!
6〉 做好這些後單擊「開始」,選擇「Windows Update」,此時自動打開IE連接到windows升級網站,按照它上面的提示進行升級,步驟必不可少!升級完成後可能會需要重新啟動計算機。
7〉 打開任意一個文件夾,從菜單欄里點擊「工具」,選擇「文件夾選項」。單擊「查看」標簽,將「不緩存縮略圖」、「記住每個文件夾的視圖位置」、「滑鼠指向文件夾或桌面項時顯示提示信息」這三個類前的勾去掉。再點擊上方的「應用到所有文件夾」,點確定!
8〉 右鍵單擊IE,選擇「屬性」,在「常規」標簽中,點擊「使用空白頁」,再點確定!
F. 如何將delphi程序圖標放入系統托盤中
去下載一個Delphi下的系統托盤控制項,TrayIcon,安裝後,將該控制項拖到窗體上,稍稍設置一下就好。
隨便下載一個For
Delphi版本的就好了,然後下載下來的安裝文件中應該有擴展名為.dpk的文件,雙擊該文件,在隨後畫面中點擊install應該就好了。