实现 VC 最小化到 托盘
大家经常看到 程序 最小化到 托盘 但用C怎么实现呢 本人 试下哈 可以实现的 ~·~
main.cpp 修改如下
#define WM_CLICKBIT (WM_USER + 1) //定义消息
HINSTANCE hApp;
NOTIFYICONDATA nid;
BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch(uMsg)
{
//BEGIN MESSAGE CRACK
HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog);
HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand);
HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose);
HANDLE_MSG(hWnd, WM_SYSCOMMAND, Main_OnSysCommand); //多了这条消息
case WM_CLICKBIT:
{
if(wParam == IDI_ICONAPP)
{
switch(lParam)
{
case WM_LBUTTONDBLCLK:
ShowWindow(hWnd, SW_SHOWNORMAL);
Shell_NotifyIcon(NIM_DELETE, &nid);
SetWindowPos(hWnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
break;
default:
ShowWindow(hWnd, SW_HIDE);
break;
}
}
}
break;
default:
break;
}
return FALSE;
}
void ShowPlate(HWND hwnd) //最小化到托盘
{
ZeroMemory(&nid, sizeof(NOTIFYICONDATA));
nid.cbSize = (DWORD)sizeof(NOTIFYICONDATA);
nid.hWnd = hwnd;
nid.uID = IDI_ICONAPP;
nid.uFlags = NIF_ICON|NIF_MESSAGE|NIF_TIP;
nid.uCallbackMessage = WM_CLICKBIT; //自定义的消息名称
nid.hIcon = LoadIcon(hApp, MAKEINTRESOURCE(IDI_ICONAPP));
lstrcpy(nid.szTip, TEXT("Close QQ")); //信息提示条
Shell_NotifyIcon(NIM_ADD, &nid); //在托盘区添加图标
}
void Main_OnSysCommand(HWND hwnd, UINT cmd, int x, int y)
{
if(SC_MINIMIZE == cmd)
{
ShowPlate(hwnd);
ShowWindow(hwnd, SW_HIDE);
return;
}
else
{
return;
}
}
main.h添加
extern HINSTANCE hApp;
void ShowPlate(HWND hwnd);
void Main_OnSysCommand(HWND hwnd, UINT cmd, int x, int y);
closeProcess.cpp(这是我自己创建的工程哈,这里是你自己创建的工程名)
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
hApp = hInstance; //就多了这句
DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN), NULL, Main_Proc);
return(0);
}
目前 在C FREE(一个很好用的IDE 下载地址)编译通过
给大家一个 c free 源码下载 工程需要 c free才能打开 但其中的最小化到托盘\MinGW3.4.5\最小化到托盘.exe 是可以用的
等有时间在传个 VC的工程 给大家看看哈 若发现连接失效 请 给我留言 谢谢
VC工程已经实现 下载地址
转载于:https://www.cnblogs.com/syxchina/archive/2009/08/29/2197718.html
实现 VC 最小化到 托盘相关推荐
- VC对话框最小化到托盘
1.***dlg.h头文件设置: 1)public: void setTray();//设置托盘 NOTIFYICONDATA nid;//NOTIFYICONDATA结构包含了系统用来处理托盘 ...
- delphi 关闭时缩小到托盘_delphi 实现最小化系统托盘
1.new -->application 2.在form1中加入一个tPopMenu 命名为pm1 3.uses ShellAPI; 4.定义一个常量在 const WM_TRAYMSG = W ...
- MFC窗口最小化到托盘
把程序放到托盘上的本质就是先在托盘区绘制一个图标,然后把程序隐藏不见,再对托盘的图标进行消息处理,就可以了.绘制图标以及确定图标所传送消息的函数只有一个,那就是 WINSHELLAPI BOOL W ...
- qt 最小化到托盘linux,Qt窗口最小化到托盘,托盘菜单控制
作为Qt初学者,最近在编写窗口最小化到托盘功能代码的时候遇到了点阻碍. Qt自带的demo实现的功能太过繁琐,涉及知识点又太杂,很难理出最核心的思路.网上的文章代码也很多脱骨于这个demo,注释说明太 ...
- pyqt5 最小化 系统托盘_Qt中如何使窗口隐藏/最小化到托盘
展开全部 功能62616964757a686964616fe78988e69d8331333361303733:窗口最小化后或者点击"hide"按钮将窗口隐藏到托盘. 通常最小化的 ...
- vb.net 中最小化到托盘和锁定窗体大小的问题(notifyIcon的两个重要属性)
最小化到托盘需要用到 NotifyIcon 控件,从工具箱中找到并添加,其余代码如下: '最小化到右下角 & 锁定窗口大小Private Sub Form1_Resize(ByVal send ...
- MFC实现最小化到托盘
先新建一个MFC工程TimeWakeDlg 源代码是 TimeWakeDlg.cpp // TimeWakeDlg.cpp : implementation file //#include " ...
- 【pyqt5学习】——窗口最小化至托盘、取消任务栏图标
目录 1.最小化至托盘 1)重写系统托盘类,设置托盘图标等属性 2)将具体的窗口放入托盘 2.取消任务栏界面图标 3.问题汇总 1)退出后托盘图标还是存在,没有消失 2)最小化后左下角会出现 窗口 3 ...
- C# 窗口最小化到托盘及右键图标显示菜单
日常开发有时候需要实现窗口最小化到系统托盘,本文就来讲讲该如何实现winfrom最小化到系统托盘,本例子基于VS2019编写. 用C#开发winform桌面程序时,程序启动后,默认是显示在桌面而且在任 ...
最新文章
- Office Live for Small Business--开启您创业的大门
- docker 容器查看命令的基础使用方法一
- MySQL第12天:MySQL索引优化分析之性能优化案例实践
- Python之compiler:compiler库的简介、安装、使用方法之详细攻略
- 7类合作伙伴,190条沟通路径,高德汽车如何实现组织高效沟通?
- bootstrap bootstraptable 固定列_BootStrapTable分页
- java blueprint_blueprint(蓝本/蓝图)学习笔记
- sequelize 外键关联_用Sequelize计算关联条目
- pytorch学习笔记(三十七):RMSProp
- 第7章 PCA与梯度上升法 学习笔记中
- C++自带排序函数sort( )
- linux yum资源下载,yumdownloader命令 – 从yum存储库下载rpm包
- 三阶魔方还原简单七步公式
- html中图片旋转木马,教你怎么用CSS3做一个图片的旋转木马效果
- 创建一个urdf机器人_ROS机器人Diego制作16-创建机器人的urdf模型描述文件
- @NotNull 和 @NotEmpty 和@NotBlank 区别
- 网站图片定位代码html5,CSS中背景图片的定位
- 如何测量二极管的正负极
- GreenPlum系列-5-角色和权限
- 【NLP】第11章 让你的数据说话:故事、问题和答案
热门文章
- MySQL索引使用详解
- 程序人生:摆脱情绪低潮的10种方法
- Linux文本处理tr命令笔记
- 50条超精辟的经典语录:哗众,可以取宠,也可以失宠!
- api zabbix 拓扑图 获取_zabbix网络拓扑图配置-Maps(示例代码)
- 超级计算机的英语作文80字,英语作文_为什么这台超级计算机如此快? (有声) _沪江英语...
- git 几种还原版本_Git恢复之前版本的两种方法reset、revert(图文详解)
- myjdbc链接数据库.增删改查
- vba交付图表设计_您是在为交付目的而“设计”吗?
- 2021 年最值得了解的 Node.js 工具