双击托盘后直接弹出显示对话框问题
我用VS2005以对话框方式做一个托盘小程序. 其中有一个双击托盘图标后,弹出该应用程序
LRESULT CDrawingBoardDlg::OnShowTask(WPARAM wParam, LPARAM lParam)
{
if(wParam != IDR_MAINFRAME)
return 1;
switch(lParam)
{
case WM_RBUTTONUP: // 右键起来时弹出菜单
{
LPPOINT lpoint = new tagPOINT;
::GetCursorPos(lpoint); // 得到鼠标位置
CMenu menu;
menu.CreatePopupMenu(); // 声明一个弹出式菜单
menu.AppendMenu(MF_STRING, WM_DESTROY, TEXT("Close"));
menu.TrackPopupMenu(TPM_LEFTALIGN, lpoint->x ,lpoint->y, this);
HMENU hmenu = menu.Detach();
menu.DestroyMenu();
delete lpoint;
}
break;
case WM_LBUTTONDBLCLK: // 双击左键的处理
{
this->ShowWindow(SW_SHOWNORMAL); // 显示主窗口
}
break;
}
return 0;
}
测试时候, 双击托盘图标后, 应用程序是呈现收在状态栏下而非显示对话框, 我在this->ShowWindow(SW_SHOWNORMAL);处理设置断点调试时候双击托盘中图标后,运行到此断点后全速运行可以直接显示对话框, 请问应该如何设置才可以双击托盘后直接弹出显示对话框.
LRESULT CDrawingBoardDlg::OnShowTask(WPARAM wParam, LPARAM lParam)
{
if(wParam != IDR_MAINFRAME)
return 1;
switch(lParam)
{
case WM_RBUTTONUP: // 右键起来时弹出菜单
{
LPPOINT lpoint = new tagPOINT;
::GetCursorPos(lpoint); // 得到鼠标位置
CMenu menu;
menu.CreatePopupMenu(); // 声明一个弹出式菜单
menu.AppendMenu(MF_STRING, WM_DESTROY, TEXT("Close"));
menu.TrackPopupMenu(TPM_LEFTALIGN, lpoint->x ,lpoint->y, this);
HMENU hmenu = menu.Detach();
menu.DestroyMenu();
delete lpoint;
}
break;
case WM_LBUTTONDBLCLK: // 双击左键的处理
{
this->ShowWindow(SW_SHOWNORMAL); // 显示主窗口
}
break;
}
return 0;
}
测试时候, 双击托盘图标后, 应用程序是呈现收在状态栏下而非显示对话框, 我在this->ShowWindow(SW_SHOWNORMAL);处理设置断点调试时候双击托盘中图标后,运行到此断点后全速运行可以直接显示对话框, 请问应该如何设置才可以双击托盘后直接弹出显示对话框.
...全文
相关推荐
如何修改QQ的托盘图标
用ResHack把qq安装文件夹内的QQRES.dll文件打开,具体到系统托盘的位置如下:....
MFC对话框最小化至系统托盘:Shell_NotifyIcon API详解与实战
在Windows桌面应用开发中,系统托盘功能是提升后台程序用户体验的关键技术。其核心原理是通过Windows API与系统外壳进行通信,实现程序窗口的隐藏与后台驻留。Shell_NotifyIcon函数是实现这一功能的技术基石,它允许应用程序向系统托盘区域添加、修改或删除图标,并建立消息交互通道。这项技术的工程价值在于优化任务栏空间管理,使即时通讯、下载工具、系统监控等后台服务类应用能够持续运行而不干扰用户前台工作。通过NOTIFYICONDATA结构体配置图标属性与回调消息,结合MFC的消息映射机制,开发
QQ的基本功能详解.docx
QQ的基本功能详解.docx
ESETNOD32Antivirus无法开机启动.pdf
ESETNOD32Antivirus无法开机启动.pdf
2021职称计算机考试综合习题及答案(5).docx
2021职称计算机考试综合习题及答案(5).docx


界面
