VC中使程序最小化到系统托盘区

简介: //定义托盘图标结构体 NOTIFYICONDATA nid; #define WM_ICONNOTIFY WM_USER + 909 //图标响应消息(lParam) #define ID_TASKBARICON 100...

//定义托盘图标结构体 NOTIFYICONDATA nid; #define WM_ICONNOTIFY WM_USER + 909 //图标响应消息(lParam) #define ID_TASKBARICON 100 //参数(wParam) //初始化系统托盘图标 void OnBtnMinimize() { //初始化系统托盘图标 nid.cbSize = sizeof(NOTIFYICONDATA); nid.hWnd = m_hWnd;; nid.uID = ID_TASKBARICON; //发出的消息中的wParam参数 nid.uFlags = NIF_ICON|NIF_MESSAGE|NIF_TIP; nid.uCallbackMessage = WM_ICONNOTIFY; //点击托盘图标系统发出的消息(即发出的消息中的lParam参数) nid.hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_HIS_COMM)); //图标文件 strcpy(nid.szTip, "我的程序"); Shell_NotifyIcon(NIM_ADD, &nid); //加入图标 ShowWindow(SW_HIDE); //隐藏窗体 } //手工添加消息处理函数 afx_msg LRESULT OnNotifyIcon(WPARAM wParam, LPARAM lParam); ON_MESSAGE(WM_ICONNOTIFY, OnNotifyIcon) //双击系统托盘,使程序正常化 LRESULT OnNotifyIcon(WPARAM wParam, LPARAM lParam) { POINT rpoint; CMenu tmenu; GetCursorPos(&rpoint); //如果在托盘图标上双击左键 if ( ( wParam == ID_TASKBARICON ) && ( lParam == WM_LBUTTONDBLCLK ) ) { ShowWindow(SW_SHOW); //显示窗体 Shell_NotifyIcon(NIM_DELETE, &nid); //删除系统托盘图标 } //如果在托盘图标上单击右键 if ( ( wParam == ID_TASKBARICON ) && ( lParam == WM_RBUTTONDOWN ) ) { tmenu.LoadMenu(IDR_MAINFRAME); //加载系统主菜单 SetForegroundWindow(); //将程序置于桌面顶部 //在点击图标处弹出系统菜单的第一项 tmenu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON, rpoint.x, rpoint.y, this); } return 0; } 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zltpc007/archive/2008/01/05/2026560.aspx

目录
相关文章
|
域名解析 网络协议 安全
信息收集的工具你听过几种(盘点信息收集)
信息收集的工具你听过几种(盘点信息收集)
信息收集的工具你听过几种(盘点信息收集)
|
Java 测试技术
Spock单测利器,用了都说好
参考Spock单元测试框架介绍以及在美团优选的实践最近发现了一种写法简洁高效,一个单测方法可以测试多组测试数据,且测试结果一目了然的单测框架Spock。Spock国外的测试框架,其设计灵感来自JUnit、Mockito、Groovy,可以用于Java和Groovy应用的测试。尽管Spock写单测,需要使用groovy语言,但是groovy语言是一种弱类型,写法超级简单,我也是零基础的groovy新
1263 0
Spock单测利器,用了都说好
|
Kubernetes 调度 容器
正确配置Kubelet可一定程度防止K8S集群雪崩
## Kubelet Node Allocatable - Kubelet Node Allocatable用来为Kube组件和System进程预留资源,从而保证当节点出现满负荷时也能保证Kube和System进程有足够的资源。 - 目前支持cpu, memory, ephemeral-storage三种资源预留。 - Node Capacity是Node的所有硬件资源,kube-r
11708 3
|
文字识别 BI API
3.4K star!全能PDF处理神器开源!文档转换/OCR识别一键搞定
PDF-Guru 是一款开箱即用的全能型PDF处理工具,支持跨平台文档转换、智能OCR识别、多格式解析等核心功能。项目采用模块化架构设计,提供简洁的Web界面和API接口,开发者可快速集成到现有系统中。
988 1
|
算法 前端开发 搜索推荐
前端算法之归并排序
前端算法之归并排序
107 0
|
监控 安全 网络安全
防患于未然:如何构建抵御.sstop勒索病毒的防线
近年来,勒索病毒攻击事件频发,给个人和企业带来了巨大的安全威胁。其中,.sstop勒索病毒以其独特的加密手段和传播途径,成为网络安全领域的一大隐患。本文将详细介绍.sstop勒索病毒的特点,以及如何恢复被其加密的数据文件和预防措施。
|
SQL 缓存 NoSQL
执行SQL响应比较慢,你有哪些排查思路?
如果面试问你,执行SQL响应慢,你有哪些排查思路和解决方案?这是一位去某里面试的小伙伴跟我分享的面试真题,那今天我给大家来分享一下我的思路。
397 1
|
安全 数据可视化 数据挖掘
2022年第十一届认证杯数学中国数学建模国际赛小美赛:D题野生动物贸易是否应该长期禁止建模方案及代码实现
本文探讨了第十一届认证杯数学中国数学建模国际赛小美赛D题"野生动物贸易是否应该长期禁止"的建模方案及代码实现,分析了野生动物贸易数据,探讨了贸易量最多的群体和物种、贸易目的、历年贸易变化趋势,以及野生动物贸易与传染病疫情之间的潜在联系。
192 9
2022年第十一届认证杯数学中国数学建模国际赛小美赛:D题野生动物贸易是否应该长期禁止建模方案及代码实现
|
移动开发 网络安全 虚拟化
锐捷EVE-NG交换机模拟环境搭建教程
搭建虚拟网络环境的教程,包括下载VMware、EVE-NG镜像和锐捷模拟器,通过链接获取资源。在VMware中导入OVA文件,设置虚拟机(启用Intel VT-x),网络适配器设为NAT模式。启动后,登录EVE平台,设置静态IP。然后通过SSH连接,将锐捷镜像文件、配置、图标和脚本上传到虚拟机相应目录,并修复权限。最后,介绍如何在EVE-NG平台上创建实验,添加交换机节点,启动并连接到交换机进行学习。
8896 18
锐捷EVE-NG交换机模拟环境搭建教程
|
安全 算法 网络协议
诱骗IoT恶意软件跟踪C&C服务器
在分析 IoT 僵尸网络时,识别C&C 服务器至关重要。C&C 服务器的 IP 地址一直都是商业威胁情报的重要组成部分,由于 C&C 服务器通信协议日渐复杂并且活跃周期较短,时效性和准确性也非常重要。如果可以自动化识别 IoT 恶意软件使用的 C&C 服务器,能够提供极有价值的威胁情报。