我寫了一個小應用程序,它在後臺執行一些操作。C++ MFC如何發送應用程序到托盤
因爲它不需要用戶注意,我想將應用程序發送到系統托盤中,當有人點擊它時,窗口應該再次彈出。
問題是,我寫了一個MFC程序(對話框),它做我希望它做的一切。現在我需要找到一種方法將它發送到托盤中。
類型:MFC(對話窗口) lnguage:C++ IDE :的Visual Studio 2012
你有我如何能做到這一點任何想法?或者你也許知道一個很好的教程或我需要的函數/類?
我已經在codeprojects.com和谷歌搜索,但似乎沒有太多關於此。 謝謝。
編輯1:
我想是這樣的:
HWND hMainWindow = this->GetSafeHwnd();
HICON hProgramIcon = this->GetIcon(false);
char szTip[16] = "Tracker";
nidTrayIcon.cbSize = sizeof(nidTrayIcon);
nidTrayIcon.hIcon = hProgramIcon;
nidTrayIcon.hWnd = hMainWindow;
nidTrayIcon.uCallbackMessage = (WM_USER + 1);
nidTrayIcon.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
nidTrayIcon.uID = 0x0200;
strcpy_s((char*)nidTrayIcon.szTip,16, szTip2);
nidTrayIcon.szTip[strlen(szTip)] = '\0';
Shell_NotifyIcon(NIM_ADD, &nidTrayIcon);
如果我運行這段代碼,我關閉應用程序與代碼 「×03」(找不到路徑...)
編輯2:
this->ShowWindow(SW_HIDE);
也不起作用。同樣的問題。
這是託管代碼,完全無關的MFC。 – ildjarn