windows系统托盘及托盘菜单
void CWiFiAssistantDlg::OnClose()
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
ExitPtDlg exitPtDlg;
int varReturn = exitPtDlg.DoModal();
if(varReturn == IDOK)
{
preExit();
CDialogEx::OnClose();
}
else //在通盘显示程序图标
{
NOTIFYICONDATA tnd;
tnd.cbSize=sizeof(NOTIFYICONDATA);
tnd.hWnd=this->m_hWnd; //要显示托盘图标的窗口句柄
tnd.uID=IDR_MAINFRAME; //程序图标资源ID
tnd.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP;
tnd.uCallbackMessage=WM_MYMESSAGE_CLICK; //自定义消息,当图标发送事件时会向窗口发送此消息,会在窗口过程函数接收到此消息,接收到消息时进行你的处理
tnd.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));
lstrcpy(tnd.szTip, L"WiFi助手");//图标提示为”WiFi助手”
Shell_NotifyIcon(NIM_ADD,&tnd);//向任务栏添加图标
ShowWindow(SW_HIDE);
}
}
{
UINT uID;//发出该消息的图标的ID
UINT uMouseMsg;//鼠标动作
POINT pt;
uID=(UINT) wParam;
uMouseMsg=(UINT) lParam;
if(uMouseMsg == WM_LBUTTONDBLCLK)//如果是双击左键
{
switch(uID)
{
case IDR_MAINFRAME://如果是我们的图标
GetCursorPos(&pt);//取得鼠标位置
ShowWindow(SW_SHOWNORMAL);
SetForegroundWindow();
break;
}
}
else if(uMouseMsg == WM_RBUTTONDOWN)//如果是单击右键
{
CMenu menuTray, *pPopup;
CPoint point;
GetCursorPos(&point);
menuTray.LoadMenuW(IDR_MENU1); //从资源载入菜单
pPopup=menuTray.GetSubMenu(0); //获得子菜单指针
pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON, point.x, point.y,this); //设置菜单显示位置并显示
pPopup->Detach();
menuTray.DestroyMenu();
}
return 0;
}
{
NOTIFYICONDATA tnid;
tnid.cbSize=sizeof(NOTIFYICONDATA);
tnid.hWnd=GetSafeHwnd();
tnid.uID=IDR_MAINFRAME;//保证删除的是我们的图标
Shell_NotifyIcon(NIM_DELETE, &tnid);
}
{
SetForegroundWindow();
ShowWindow(SW_SHOWNORMAL);
// TODO: 在此添加命令处理程序代码
}
void CWiFiAssistantDlg::OnMenuExit()
{
// TODO: 在此添加命令处理程序代码
preExit();
OnOK();
}
windows系统托盘及托盘菜单相关推荐
- Windows下QT实现托盘程序及系统托盘刷新
目录 一.现象 二.托盘程序的QT实现 1.功能说明 2.使用的类 3.代码实现 三.windows系统托盘刷新 1.托盘刷新代码 2.托盘刷新代码的调用 一.现象 windows下当程序关闭,有时系 ...
- Qt 实现系统托盘,托盘菜单,托盘消息
欢迎关注公众号可以查看更多完整文章 Qt 实现系统托盘,托盘菜单,托盘消息 系统托盘就是运行的某个程序在电脑右下角的小图标,相信大家都很熟悉.QT 提供了QSystemTrayIcon类用于实现程序的 ...
- qt 最小化到托盘linux,Qt窗口最小化到托盘,托盘菜单控制
作为Qt初学者,最近在编写窗口最小化到托盘功能代码的时候遇到了点阻碍. Qt自带的demo实现的功能太过繁琐,涉及知识点又太杂,很难理出最核心的思路.网上的文章代码也很多脱骨于这个demo,注释说明太 ...
- 半小时玩转QT桌面系统托盘(含托盘消息)
桌面托盘是常用的功能,对于QT,为桌面托盘提供了很多接口可以使用,满足开发中遇到的托盘相关的功能. 以下文章介绍QT的桌面系统托盘功能的开发实例. 系统托盘:用户在最小化程序的时候并没有真正关闭程序, ...
- html文件如何设置右键菜单,windows系统使用小技巧,创建属于自己的右键新建菜单-右键菜单设置...
在计算机的使用过程中,用户会经常的使用一些文件件,而为了用户的方便,Windows系统在桌面的右键快捷菜单设置了一些内置的文件类型,比如:"WinZip"."文本文档&q ...
- opencore 启动总是在win_单双硬盘装Windows/Mac双系统用OpenCore引导菜单添加Windows引导项...
本教程基于你的OpenCore引导已经能正常进Mac黑苹果系统,如果你的系统还不能正常进入黑苹果Mac系统,请参照此篇文章设置http://imacos.top/2020/04/04/1616/ Op ...
- 且看电脑高手如何优雅的使用windows系统
有人问道: 我从 08 年的 MacBook 到现在的 MacBook Air,用 Mac 也有4年多了.苹果系统的优雅给人良好的体验,但是在单位和其他场合不可避免的要回归 Windows,请问有哪些 ...
- linux远程打开windows程序,为新手讲解Linux和Windows系统的远程桌面访问知识
很多新手都是使用Linux和Windows双系统的,它们之间的远程桌面访问是如何连接的,我们就为新手讲解Linux和Windows系统的远程桌面访问知识,包括所使用的软件及方法.本文所使用的Linux ...
- 在 Windows 系统下常用的 bat 脚本分享
以网络配置举例说明,网络连接默认情况下都是 DHCP(自动获取 IP 和 DNS 地址) 模式,但很多情况下,需要我们设置为指定的静态 IP 和 DNS 地址.在 Windows 系统中通常我们都是在 ...
最新文章
- 在图像变换中用最小二乘法求解仿射变换参数
- 进行三万多次地震训练后,他们发现了快速预测震动强度的新方法
- 从JS数组中删除重复的值[duplicate]
- 【Python-ML】SKlearn库密度聚类DBSCAN模型
- 中石油训练赛 - Get Strong(dfs双向搜索+二分)
- 腾讯,字节等大厂面试真题汇总,深夜思考
- Cluster - LB - haproxy
- 【原】Redis事务管理
- 你以为面试官问的是分布式缓存,其实他想问……
- VS2010生成的文件在别的机器上运行提示“丢失MSVCR100D.dll”
- jq追加html属性,jQuery 操作 HTML 元素和属性的方法
- vue组件库开发遇到的regeneratorRuntime is not defined
- 网易版服务器我的世界装模组的文件包在哪里,网易我的世界怎么加mod【给网易我的世界里装mod】...
- [4G/5G/6G专题基础-157]: 无线数据承载DRB与无线信令承载SRB
- 1419. Minimum Number of Frogs Croaking
- 京东云PostgreSQL在GIS场景的应用分享
- Property ‘validationMessageSource‘ threw exception
- 计算机类专业教指委委员名单,教育部高等学校计算机类专业教学指导委员会举办《高校计算机系统能力培养教学研讨会》...
- 【区块链】从一笔交易看区块链运作流程
- nRF24L01+数据手册