托盘操作
来源:互联网 发布:linux 清空回收站 编辑:程序博客网 时间:2024/04/30 05:25
实现程序运行后自动最小化到托盘,代码简单,仅供参考
主要是完成了点击托盘界面恢复,以及点击最小化之后,界面及任务栏图标消失,右键托盘后有对应菜单
#include "toolbox.h"#include <cvirte.h>#include <userint.h>#include "demo.h"static int panelHandle;static int iconHandle;int iconCB(int iconHandle, int event, int eventData);void minimizeToTray(int panel);void resetFromTray(int panel);int main (int argc, char *argv[]){if (InitCVIRTE (0, argv, 0) == 0)return -1;/* out of memory */if ((panelHandle = LoadPanel (0, "demo.uir", PANEL)) < 0)return -1;DisplayPanel (panelHandle);minimizeToTray(panelHandle);RunUserInterface ();DiscardPanel (panelHandle);DetachTrayIconMenu (iconHandle);RemoveSysTrayIcon (iconHandle);return 0;}int CVICALLBACK panelCB (int panel, int event, void *callbackData, int eventData1, int eventData2){switch (event){case EVENT_GOT_FOCUS:RemoveSysTrayIcon (iconHandle);DetachTrayIconMenu (iconHandle);break;case EVENT_CLOSE:QuitUserInterface (0);break;case EVENT_PANEL_MINIMIZE:minimizeToTray(panel);break;}return 0;}/*--------------------------------------------------------------------------** Description:最小化该面板到托盘*----------------------------------------------------------------------------*/ void minimizeToTray(int panel){int index;char file[500];SetPanelAttribute (panel, ATTR_HAS_TASKBAR_BUTTON, 0);SetSystemAttribute (ATTR_TASKBAR_BUTTON_VISIBLE, 0);GetProjectDir(file);strcat(file,"\\hand.ico");InstallSysTrayIcon (file, "测试程序\n仅供装逼", iconCB, &iconHandle);AttachTrayIconMenu (iconHandle);InsertTrayIconMenuItem (iconHandle, "退出", &index);InsertTrayIconMenuItem (iconHandle, 0, &index);InsertTrayIconMenuItem (iconHandle, "显示主窗口", &index);SetPanelAttribute (panel, ATTR_VISIBLE, 0);}/*--------------------------------------------------------------------------** Description:从托盘中恢复*----------------------------------------------------------------------------*/ void resetFromTray(int panel){SetPanelAttribute (panel, ATTR_VISIBLE, 1);SetSystemAttribute (ATTR_TASKBAR_BUTTON_VISIBLE, 1);DisplayPanel (panel);}/*--------------------------------------------------------------------------** Description:托盘函数*----------------------------------------------------------------------------*/ int iconCB(int iconHandle, int event, int eventData){switch(event){case EVENT_MENU_ITEM:switch(eventData){case 1://对应 退出 索引QuitUserInterface (0);break;case 3://对应 显示主窗口 索引resetFromTray(panelHandle);break;}break;case EVENT_LEFT_CLICK:resetFromTray(panelHandle);break;}return 0;}
0 0
- 托盘操作
- 托盘区图标操作
- 托盘区图标操作
- 关闭窗体执行托盘操作
- Qt任务栏,托盘栏,托盘菜单,图标等操作
- 托盘
- 托盘
- 托盘
- 托盘
- 托盘
- MFC 托盘操作,最大最小化窗口
- 托盘区图标操作(NOTIFYICONDATA)
- 关于调用Shell_NotifyIcon操作托盘图标失败的说明
- Qt之程序最小化托盘显示及操作
- Qt之程序最小化托盘显示及操作
- Qt之程序最小化托盘显示及操作
- AIR 托盘处理,托盘图标,文件托盘
- VC小技巧(2)-----托盘区图标操作
- foreService
- cookie中存中文
- 调用函数不同参数以及返回值
- 微服务的可变和不可变
- C++学习摘要3
- 托盘操作
- ejabberd为游戏免除注册限制
- ELF文件和BIN文件
- Leetcode-152. Maximum Product Subarray
- Android中的四大组件
- stosd,stosb,stosw汇编指令
- CentOS服务器网络配置
- 嵌入式概述
- hdu 4283 (区间dp)