#include"resource.h"
#include<stdio.h>
#include<Windows.h>
//#include <CommCtrl.h>
//#pragma comment(lib,"comctl32.lib")
#define WM_NOTIFY_ICON WM_USER+100//自定义消息 处理托盘图标
#define IDC_BUTTON_EXIT WM_USER+101//自定义退出程序消息
#define IDC_BUTTON_SHOW WM_USER+102//自定义显示窗口消息
HINSTANCE hIns=NULL;
HWND hDlg=NULL;
LRESULT CALLBACK DlgProc(HWND hDlgMain,UINT uMsg,WPARAM wParam,LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstcanc,LPSTR lpCmdLine,int nShowCmd)
{
hIns=hInstance;
DialogBox(hIns,MAKEINTRESOURCE(IDD_DIALOG),NULL,(DLGPROC)DlgProc);
return 0;
}
LRESULT CALLBACK DlgProc(HWND hDlgMain,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
hDlg=hDlgMain;
switch(uMsg)
{
case WM_INITDIALOG://加载图标
SendMessage(hDlg,WM_SETICON,ICON_SMALL,(LPARAM)LoadIcon(hIns,MAKEINTRESOURCE(IDI_ICON1)));
SendMessage(hDlg,WM_SETICON,ICON_BIG,(LPARAM)LoadIcon(hIns,MAKEINTRESOURCE(IDI_ICON1)));
break;
case WM_PAINT:
{
NOTIFYICONDATA IconData;//任务栏托盘图标区消息结构
IconData.hWnd=hDlg;//窗口句柄
IconData.uID=IDI_ICON1;//图标ID
IconData.uFlags=NIF_MESSAGE |NIF_ICON;//标志,消息和图标有效
IconData.cbSize=(DWORD)sizeof(NOTIFYICONDATA);//结构大小
IconData.hIcon=LoadIcon(hIns,MAKEINTRESOURCE(IDI_ICON1));//图标句柄
IconData.uCallbackMessage=WM_NOTIFY_ICON;//回调消息(处理托盘图标消息)自定义
Shell_NotifyIcon(NIM_ADD,&IconData);//向任务栏发送消息
}
break;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDC_BUTTON1://按下最小化按钮
{
NOTIFYICONDATA IconData;
IconData.hWnd = hDlg;
IconData.uID = IDI_ICON1;
IconData.hIcon = LoadIcon(hIns,MAKEINTRESOURCE(IDI_ICON1));
IconData.cbSize = (DWORD)sizeof(NOTIFYICONDATA);
IconData.uFlags = NIF_MESSAGE|NIF_ICON;
IconData.uCallbackMessage = WM_NOTIFY_ICON;
Shell_NotifyIcon(NIM_ADD,&IconData);
ShowWindow(hDlg,SW_HIDE);//隐藏界面
}
break;
case IDC_BUTTON_SHOW:
ShowWindow(hDlg,SW_SHOW);
break;
case IDC_BUTTON_EXIT:
{
NOTIFYICONDATA IconData;
IconData.hWnd = hDlg;
IconData.uID = IDI_ICON1;
IconData.hIcon = LoadIcon(hIns,MAKEINTRESOURCE(IDI_ICON1));
IconData.cbSize = (DWORD)sizeof(NOTIFYICONDATA);
IconData.uFlags = NIF_MESSAGE|NIF_ICON;
IconData.uCallbackMessage = WM_NOTIFY_ICON;
Shell_NotifyIcon(NIM_DELETE,&IconData);
EndDialog(hDlg,0);
DestroyWindow(hDlg);
}
break;
default:
break;
}
break;
case WM_NOTIFY_ICON://处理托盘图标消息
switch(lParam)
{
case WM_RBUTTONUP://右键点击
{
tagPOINT point;//鼠标坐标结构
GetCursorPos(&point);//得到鼠标当前位置
HMENU hMenu;//菜单句柄
hMenu=CreatePopupMenu();//创建下拉式菜单
//在指定的菜单条、下拉式菜单、子菜单或快捷菜单的末尾追加一个新菜单项
AppendMenu(hMenu,MF_STRING,IDC_BUTTON_SHOW,"显示");//菜单项 字符形式
AppendMenu(hMenu,MF_SEPARATOR,0,NULL);//增加一条分割线
AppendMenu(hMenu,MF_STRING,IDC_BUTTON_EXIT,"退出");
TrackPopupMenu(hMenu,TPM_LEFTALIGN,point.x,point.y,NULL,hDlg,NULL);
}
break;
case WM_LBUTTONDBLCLK://左键双击
Sleep(200);
ShowWindow(hDlg,SW_SHOW);//显示窗口
break;
default:
break;
}
break;
case WM_CLOSE:
EndDialog(hDlg,0);
DestroyWindow(hDlg);
break;
default:
break;
}
return 0;
}
因篇幅问题不能全部显示,请点此查看更多更全内容
怀疑对方AI换脸可以让对方摁鼻子 真人摁下去鼻子会变形
女子野生动物园下车狼悄悄靠近 后车司机按喇叭提醒
睡前玩8分钟手机身体兴奋1小时 还可能让你“变丑”
惊蛰为啥吃梨?倒春寒来不来就看惊蛰
男子高速犯困开智能驾驶出事故 60万刚买的奔驰严重损毁