我想把我程序隐藏到托盘去,请问大虾,我的程序执行了ShowWindow(SW_HIDE),但并没有在任务栏上消失,只是隐藏到任务栏而并非托盘,代码如下:
void COnTimerOutDlg::HideTheWindows()
{
pnid.cbSize = sizeof(NOTIFYICONDATA);
pnid.hIcon = LoadIcon(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDI_ICON1));
pnid.hWnd = m_hWnd;
sprintf(pnid.szTip, "隐藏程序\n");
pnid.uCallbackMessage = WM_SYSTRAY;
pnid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
pnid.uID = 100;
this->ShowWindow(SW_HIDE);
Shell_NotifyIcon(NIM_ADD, &pnid);
}LRESULT COnTimerOutDlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: Add your specialized code here and/or call the base class
if (message == WM_SYSCOMMAND)
if (wParam ==SC_MINIMIZE)
{
HideTheWindows();
} return CDialog::DefWindowProc(message, wParam, lParam);
}
void COnTimerOutDlg::HideTheWindows()
{
pnid.cbSize = sizeof(NOTIFYICONDATA);
pnid.hIcon = LoadIcon(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDI_ICON1));
pnid.hWnd = m_hWnd;
sprintf(pnid.szTip, "隐藏程序\n");
pnid.uCallbackMessage = WM_SYSTRAY;
pnid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
pnid.uID = 100;
this->ShowWindow(SW_HIDE);
Shell_NotifyIcon(NIM_ADD, &pnid);
}LRESULT COnTimerOutDlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: Add your specialized code here and/or call the base class
if (message == WM_SYSCOMMAND)
if (wParam ==SC_MINIMIZE)
{
HideTheWindows();
} return CDialog::DefWindowProc(message, wParam, lParam);
}
解决方案 »
- connect的一些问题
- SOKICET 中 重叠IO 模型 为什么要先 WSARecv() ? 内详
- 怎样能使accept函数立即返回?
- 菜鸟问题 35分
- 讨论:MSN<=>OICQ
- 奇怪的问题,关于CList CArray
- DataGrid控件能动态刷新吗?
- 高手、侠士们,请务必看看我的这个问题,关于:DHTML EDIT控件的!
- 微软这么多年为什么不弄一个C++的RAD,像C++ Builder那样的
- ObjectContext.SetComplete时候出错,请帮我看看
- 请问ADO往Access插入数据时,只能插入一次,第二次就失败,可能是什么原因?
- Win32 Application 哪个地方控制最小化,最大化,关闭的显示?
if(message == WM_SYSCOMMAND)
{
if(wParam == SC_MINIMIZE)
{
res = CDialog::DefWindowProc(message,wParam,lParam);
HideWindows();
return res;
}
}
return CDialog::DefWindowProc(message, wParam, lParam);
return CDialog::DefWindowProc(message, wParam, lParam);操作会使对话框最小化,而这样的系统行为是在任务栏上有窗口横条(表达不好,)。你先最小化,再隐藏就行了。
ShowWindow(SW_HIDE)对模态对话框不起作用