最小化到右下角

合集下载

vpn使用说明资料

vpn使用说明资料

vpn使用说明资料第一篇:vpn使用说明资料VPN使用手册-i第一章 Forticlient安装及使用说明安装前注意事项:ν IE版本需要升级到8.0以上。

ν如果安装了360安全卫士等防护软件,请及时卸载,安装公司指定杀毒防护软件。

一、软件安装说明下面以win7操作系统64位安装程序为例介绍一些安装过程。

(1)右键单击64位版.exe应用程序,在下拉菜单中点击‘以管理员身份运行’,在用户账户控制界面弹框中点击‘是’,进入FortiClient安装向导,阅读过许可协议后,点击‘yes,I have read and accept the …’前面的方框,然后点击‘Next’。

注:win XP系统直接双击安装程序即可。

(2)设置安装路径:安装路径选择默认目标文件夹即可,点击‘Next’继续。

(3)进入下一对话框,点击‘Install’。

(4)进入安装界面。

(5)安装完成后,点击‘Finish’。

之后在桌面右下角会出现绿色小盾牌图标。

二、登录前提准备该软件默认将OA-VPN(tj-chinamobile)的连接站点内置在程序中。

使用该应用程序前需进行如下操作。

Win7以上操作系统的用户,需要以管理员身份运行VPN。

右键点击桌面上创建的快捷方式,在弹出的菜单中点击‘属性’。

进入Forticlient属性对话框,点击‘兼容性’,在特权等级那一项,点击‘以管理员身份运行此程序’,之后点击‘确定’。

三、BOSS-VPN的配置说明新安装的VPN没有BOSS连接站点,用户需手动自行添加配置信息。

(1)双击状态栏右下角的tj-chinamobile右侧的小齿轮图标图标,进入登录页面,点击第一栏,在下拉列表中点击‘建立新连接’。

(2)进入新建VPN连接页面。

选择连接类型‘IPsec VPN’,在该页面下填写如下信息。

连接名:bossvpn;远程网关:211.103.90.132;验证方式:共享密钥123456。

信息填写完后,点击‘高级设置’。

最小化到托盘

最小化到托盘

系统最小化到托盘一、托盘简介所谓的“托盘”,在Windows系统界面中,指的就是下面任务条右侧,有系统时间等等的标志的那一部分。

在程序最小化或挂起时,但有不希望占据任务栏的时候,就可以把程序放到托盘区。

二、托盘编程相关函数其实,把程序放到托盘上的本质就是先在托盘区绘制一个图标,然后把程序隐藏不见,再对托盘的图标进行消息处理,就可以了。

绘制图标以及确定图标所传送消息的函数只有一个,WINSHELLAPI BOOL WINAPI Shell_NotifyIcon(DWORD dwMessage,PNOTIFYICONDATA pnid);这个函数负责向系统传递消息,以添加、修改或删除托盘区的图标。

她的返回值是个布尔类型的。

就是说,如果返回0才成功。

参数dwMessage 是表示这个函数的应用功能是哪一方面,是添加、删除,还是修改图标。

如果是添加,则它的值为NIM_ADD;删除则是NIM_DELETE;而修改是NIM_MODIFY。

参数pnid就是具体的和程序在托盘区的图标有关系的结构了。

它的定义如下:typedef struct _NOTIFYICONDATA {DWORD cbSize;HWND hWnd;UINT uID;UINT uFlags;UINT uCallbackMessage;HICON hIcon;char szTip[64];} NOTIFYICONDATA, *PNOTIFYICONDATA;下面就对该结构各个参数进行刨析:cbSize : 结构的长度,用“位”来做单位。

一般在程序中,我们用(DWORD)sizeof(NOTIFYICONDATA) 给它赋值。

HWnd : 一个句柄,如果对托盘中的图标进行操作,相应的消息就传给这个句柄所代表的窗口。

大多数情况下是this->m_hWnd。

uID : 在工程中定义的图标IDuFlags : 这个成员标志着其他哪些成员的数据是有效的,分别为NIF_ICON, NIF_MESSAGE, NIF_TIP,分别代表着数据有效的成员是hIcon, uCallbackMessage, szTip。

键盘快捷键大全61511

键盘快捷键大全61511

Windows7 键盘快捷键大全一、Win键相关的快捷键键位操作Win + Home 将所有使用中窗口以外的窗口最小化(和摇动使用中窗口一样意思)Win + Space空格键将所有桌面上的窗口透明化(和鼠标移到工作列的最右下角一样意思)Win + ↑ 上方向键最大化使用中窗口(和将窗口用鼠标拖到屏幕上缘一样意思)Shift + Win + ↑ 上方向键垂直最大化使用中窗口(但水平宽度不变)Win + ↓ 下方向键最小化窗口/还原先前最大化的使用中窗口Win + 左/右方向键将窗口靠到屏幕的左右两侧(和将窗口用鼠标拖到左右边缘一样意思)Shift + Win + 左/右方向键将窗口移到左、右屏幕(如果你有接双屏幕的话)工作列快速列Win + 1~9 开启工作列上相对应的软件,从左到右依顺序为Win+1到Win+9Shift + Win + 1~9 开启对应位置软件的一个新「分身」,例如firefox的话会是开新窗口(鼠标是Shift+点软件)Ctrl + Win + 1~9 在对应位置软件已开的分身中切换Alt + Win + 1~9 开启对应位置软件的右键选单Ctrl + Shift + 鼠标点软件以管理员权限开启该软件WIN + 点击任务栏快捷方式在此程序中新建一个实例Win + (+/-):打开Windows放大、缩小功能Win + G 在屏幕上的Gadget 间切换Win + X 打开移动中心Win + D 显示桌面,最小化所有窗口Win + E 打开资源管理器Win + F 打开资源管理器搜索结果Win + L 锁定计算机,回到登陆窗口Win + M 最小化当前窗口Win + P 投影机输出设定(仅屏幕、同步显示、延伸、仅投影机)键位操作Win + R 打开运行窗口Win + T 工作列的Alt+TabWin + U 打开控制面板轻松访问中心Win + Break 打开控制面板系统属性Win + Tab 打开Flip3D任务切换功能二、Windows基础快捷键键位操作F1 帮助Ctrl+C ( Ctrl+Insert) 复制选中项目Ctrl+X 剪切选中项目Ctrl+V ( Shift+Insert) 粘贴选中项目Ctrl+Z 撤销Ctrl+Y 重做Delete ( Ctrl+D) 删除选中项目至回收站Shift+Delete 直接删除选中项目F2 重命名选中项目Ctrl+A 全选F3 搜索Alt+Enter 显示选中项目属性Alt+F4 关闭当前项目或退出当前程序Alt+空格打开当前窗口的快捷方式菜单Alt+Tab 在当前运行的窗口中切换Ctrl+Alt+Tab 使用方向键在当前运行的窗口中切换Ctrl+滚轮改变桌面图标大小+Tab 开启Aero Flip 3-DCtrl+ +Tab 使用方向键在 Aero Flip 3D程序中切换Alt+Esc 在当前打开的程序间切换F4 显示资源管理器的地址栏列表Shift+F10 显示选中项目的快捷方式菜单Ctrl+Esc 打开开始菜单F10 激活当前窗口的菜单栏F5 ( Ctrl+R) 刷新Alt+ ↑资源管理区中返回文件夹的上一级菜单键位操作Esc 取消当前操作Ctrl+Shift+Esc 打开任务栏管理器插入碟片时按住Shift 禁止CD/DVD的自动运行右边或左边的 Ctrl+Shift 改变阅读顺序三、资源管理器相关快捷键键位操作Ctrl + N 打开新窗口Ctrl + W 关闭当前窗口Ctrl + Shift + N 新建文件夹End 显示文件夹底部Home 显示文件夹顶部F11 最大/最小化当前文件夹Ctrl + 句号 (.) 顺时针方向旋转图片Ctrl + 逗号 (,) 逆时针方向旋转图片Num Lock + 小键盘星号(*)显示选中文件夹下的所有子文件夹Num Lock + 小键盘加号( + )显示选中文件夹的内容Num Lock + 小键盘减号(-)折叠选中文件夹←折叠选中文件夹或返回父文件夹Alt + Enter 打开选中项目的属性对话框Alt + P 预览面板开关Alt + ←打开上一个文件夹Backspace 打开上一个文件夹→选中第一个子文件夹Alt + →打开下一个文件夹Alt + ↑返回上一层文件夹Ctrl + 滚轮改变图标大小Alt + D 选中地址栏Ctrl + E 选中搜索框Ctrl + F 选中搜索框Shift+右键点选文件出现「附到开始菜单」和「复制为路径」两个额外的右键选项键位操作Shift+右键点选文件夹出现「在新处理程序开启(另开新窗口)」、「在此处开启命令窗口(DOS!)」和「复制为路径」三个额外的右键选项四、任务栏快捷键键位操作Shift + 点击任务栏程序按钮在新窗口中打开此程序Ctrl + Shift + 点击任务栏程序按钮以管理员身份运行此程序Shift + 右键点击任务栏程序按钮打开此程序的窗口菜单Shift + 右键点击任务栏分组按钮打开本组的窗口菜单Ctrl + 点击任务栏分组按钮在本组窗口中循环1. 轻松访问键盘快捷方式↖ 下表包含了可以有助于使计算机更易于使用的键盘快捷方式。

MFC最小化到系统托盘

MFC最小化到系统托盘

MFC最小化到系统托盘转MFC最小化到系统托盘一、托盘简介所谓的“托盘”,在Windows系统界面中,指的就是下面任务条右侧,有系统时间等等的标志的那一部分。

在程序最小化或挂起时,但有不希望占据任务栏的时候,就可以把程序放到托盘区。

其实,托盘区的编程很简单,下面简要阐述一下子喽^_^二、托盘编程相关函数其实呢,把程序放到托盘上的本质就是先在托盘区绘制一个图标,然后把程序隐藏不见,再对托盘的图标进行消息处理,就可以了。

绘制图标以及确定图标所传送消息的函数只有一个,那就是——————WINSHELLAPI BOOL WINAPI Shell_NotifyIcon(DWORD dwMessage,PNOTIFYICONDA TA pnid);这个函数呢,负责向系统传递消息,以添加、修改或删除托盘区的图标。

她的返回值呢,是个布尔类型的。

就是说,如果返回0,那就是成仁啦,非0才成功。

参数dwMessage 是表示这个函数的应用功能是哪一方面,是添加、删除,还是修改图标。

如果是添加,则它的值为NIM_ADD;删除则是NIM_DELETE;而修改是NIM_MODIFY。

参数pnid就是具体的和程序在托盘区的图标有关系的结构了。

它的定义如下:typedef struct _NOTIFYICONDA TA{DWORD cbSize;HWND hWnd;UINT uID;UINT uFlags;UINT uCallbackMessage;HICON hIcon;char szTip[64];} NOTIFYICONDA TA, *PNOTIFYICONDA TA;下面就对该结构各个参数进行刨析:cbSize : 结构的长度,用“位”来做单位。

一般在程序中,我们用(DWORD)sizeof(NOTIFYICONDA TA) 给它赋值。

HWnd : 一个句柄,如果对托盘中的图标进行操作,相应的消息就传给这个句柄所代表的窗口。

2、Win键有什么用

2、Win键有什么用

Win 显示或隐藏“开始”菜单。

●Win+D显示桌面。

●Win+M最小化所有窗口。

●Win+Shift+M还原最小化的窗口。

●Win+E打开“我的电脑”或“资源管理器”。

●Win+F搜索文件或文件夹。

●Win+Ctrl+F搜索计算机。

●Win+F1显示Windows帮助和支持中心。

●Win+L如果连接到网络域,则锁定计算机,如果没有连接到网络域,则切换用户●Win+R打开“运行”对话框。

Win7系统中Win键作用大全(多数也适合Win8,大家可以自行测试)●Win + Space(空格键)将所有桌面上的窗口透明化(和鼠标移到桌面右下角功能一样)。

●Win + Home将当前工作窗口以外的其他窗口最小化(和摇动当前窗口功能一样)。

●Win + ↑ 上方向键最大化当前工作窗口(和将窗口用鼠标拖到屏幕上方功能一样)。

●Shift + Win + ↑ 上方向键仅垂直方向最大化当前工作窗口,水平宽度不变。

●Win + ↓ 下方向键最小化窗口/还原先前最大化的当前工作窗口。

●Win + M最小化当前工作窗口。

●Win + 左/右方向键将窗口分别靠到屏幕的左右两侧(和将窗口用鼠标拖到左右边缘功能一样) 。

●Shift + Win + 左/右方向键如果外接有双显示器,可以将窗口分别移到左、右屏幕。

Win + 0~9数字键开启工具栏上顺序数字相对应的软件,从左到右依顺序为Win+1到Win+9以及win+0。

●Win + (+/-)打开Windows7的放大、缩小功能●Win + Tab打开Flip3D任务切换功能,还可以实现Win7界面的Aero窗口折叠特效。

Win7界面的Aero窗口折叠特效●Win + P外接显示(如投影仪)输出设定(仅计算机、复制、扩展、仅投影机)Win7四种显示模式●Win + U打开控制面板的“轻松访问中心”●Win + Break打开控制面板系统属性还有一些快捷键和WinXP中一样,大家应该都比较熟悉了。

Windows7 键盘快捷键大全

Windows7 键盘快捷键大全
以管理员身份运行此程序
Shift +右键点击任务栏程序按钮
打开此程序的窗口菜单
Shift +右键点击任务栏分组按钮
打开本组的窗口菜单
Ctrl +点击任务栏分组按钮
在本组窗口中循环
出现「附到开始菜单」和「复制为路径」两个额外的右键选项
Shift+右键点选文件夹
出现「在新处理程序开启(另开新窗口)」、
「在此处开启命令窗口(DOS!)」和
「复制为路径」三个额外的右键选项
四、任务栏快捷键
键位
操作
Shift +点击任务栏程序按钮
在新窗口中打开此程序
Ctrl + Shift +点击任务栏程序按钮
Ctrl + Shift +鼠标点软件
以管理员权限开启该软件
Delete ( Ctrl+D)
删除选中项目至回收站
Shift+Delete
直接删除选中项目
Alt+Enter
显示选中项目属性
Alt+F4
关闭当前项目或退出当前程序
Alt+空格
打开当前窗口的快捷方式菜单
Alt+Tab
在当前运行的窗口中切换
Ctrl+Alt+Tab
F6
资源管理器及IE中定位到地址栏
F7
Windows系统中没作用
F8
启动电脑时调出启动菜单
F9
Windows中无作用,Windows Media Player中降低音量
F10
激活当前窗口的菜单栏
F11
最大/最小化当前文件夹
F12
Windows中无作用,Word中弹出另存为菜单

常用的win+快捷键

常用的win+快捷键

一、Windows键+ D[作用]:最小化所有窗口,并切换到桌面,再次按又重新打开刚才的所有窗口[快捷键]:win+d[小结]:这个功能在以前的系统里是都有的,只不过win7的显示桌面放到了任务栏的右下角了(就是最右边的那个长方形小条)二、Windows键 + tab键[作用]:传说中的3D桌面展示效果[快捷键]:win+tab[小结]:记得本区应该有一个帖就是关于这个效果的,不过感觉这招最简单了三、Windows键 + ctrl键+tab键[作用]:3D桌面浏览并锁定(可截屏)[快捷键]:win+ctrl+tab[小结]:见识了它的效果想留个图,用这个快捷键就可以办到四、Windows键 + 空格键“Space”[作用]:透明化所有窗口,快速查看桌面(并不切换)[快捷键]:win+空格[小结]:当你打开了很多程序窗口的时候,这招非常有用,而且桌面还会有华丽的光影效果哦。

没用过的赶紧试试先五、Windows键 + 数字键[作用]:针对固定在快速启动栏中的程序,按照数字排序打开相应程序[快捷键]:win+数字(1-9)[小结]:吼吼,这个功能爽吧六、Windows键+ P[作用]:打开“外接显示”的设置窗口[快捷键]:win+p[小结]:办公室一族,对这个功能肯定不会陌生吧。

对了,接投影仪快速切换,嘿嘿。

七、Windows键+ X[作用]:打开“移动中心”设置窗口[快捷键]:win+x[小结]:设置窗口里包括显示器亮度控制、音量控制、笔记本电池监控、Mobile 手机同步设置、外接显示器管理...等多种功能八、Windows键+ L作用:当你离开电脑一会,又不想让别人了使用你的电脑时,可以快速进入开机时的密码界面。

(前提是你的电脑已经设定了密码)[快捷键:win+l[小结:这是个很好用的快捷方式,很有用的!!。

大白话系列-C#窗体最小化到托盘功能实现

大白话系列-C#窗体最小化到托盘功能实现

大白话系列-C#窗体最小化到托盘功能实现大白话系列宗旨:打破自身基础高低的壁垒,用最简单白话的语言,让最低基础的童鞋也能轻松编程。

项目描述:在 C # 中,窗体的右上角分别为“最小化”、“最大化”、“关闭”,而在我们选择“最小化”的时候,常常需要的就是在电脑的右下角托盘上显示图标代表该窗体没有被关闭。

本项目旨在通过代码的添加实现窗体最小化到电脑托盘的功能。

环境:VS2010、一个ico图标详细步骤:【完整代码附在文档最后】一、新建C #项目1、找到并打开VS2010软件,新建项目。

2、在弹出的窗口中左侧选择Visual C#下的Windows,然后在右侧选择“Windows窗体应用程序”,然后在下侧修改项目名称。

点击确定,即创建了一个窗体Form1。

二、notifyIcon控件添加及属性修改1、向窗体中添加notifyIcon控件。

在主界面左侧找到工具箱(若无工具箱,可在主界面“视图”选项卡下选择“工具箱”即可显示),在工具箱中找到notifyIcon控件双击,即可添加控件,我们可以看到该控件添加之后不在窗体内部,而是在窗体下方的区域,这部分控件叫做后台控件。

该控件的作用是在电脑右下角任务区显示图标。

2、修改notifyIcon控件属性。

点击notifyIcon控件,在右侧属性栏中修改该控件的属性。

首先,修改控件的“Text”属性为“大白话系列”。

然后,修改控件的“Icon”属性,这表示窗体最小化之后需要在电脑右下角展示的图标,在此之前需要把我们之前准备ico图标放入所建立项目的文件夹中。

点击Icon属性右边的灰色方框,以选择准备好的ico图标。

三、进入代码编写【完整代码附在文档最后】1、给notifyIcon控件添加代码。

选中notifyIcon控件,在右侧属性部分点击事件按钮,然后,在下面的事件列表中双击“Click”右边的空白框,即进入了notifyIcon控件的Click事件代码编辑部分。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

这个叫做托盘程序,具体的写法不难我现在把当初别人给我的材料给你。

注明:原作者:jennyvenus新建一个对话框程序,照此修改,图标自选附:一、托盘简介所谓的“托盘”,在Windows系统界面中,指的就是下面任务条右侧,有系统时间等等的标志的那一部分。

在程序最小化或挂起时,但有不希望占据任务栏的时候,就可以把程序放到托盘区。

其实,托盘区的编程很简单,下面简要阐述一下子喽^_^二、托盘编程相关函数其实呢,把程序放到托盘上的本质就是先在托盘区绘制一个图标,然后把程序隐藏不见,再对托盘的图标进行消息处理,就可以了。

绘制图标以及确定图标所传送消息的函数只有一个,那就是——————WINSHELLAPI BOOL WINAPI Shell_NotifyIcon(DWORD dwMessage,PNOTIFYICONDATA pnid);这个函数呢,负责向系统传递消息,以添加、修改或删除托盘区的图标。

她的返回值呢,是个布尔类型的。

就是说,如果返回0,那就是成仁啦,非0才成功。

参数dwMessage 是表示这个函数的应用功能是哪一方面,是添加、删除,还是修改图标。

如果是添加,则它的值为NIM_ADD;删除则是NIM_DELETE;而修改是NIM_MODIFY。

参数pnid就是具体的和程序在托盘区的图标有关系的结构了。

它的定义如下:typedef struct _NOTIFYICONDATA {DWORD cbSize;HWND hWnd;UINT uID;UINT uFlags;UINT uCallbackMessage;HICON hIcon;char szTip[64];} NOTIFYICONDATA, *PNOTIFYICONDA TA;下面就对该结构各个参数进行刨析:cbSize : 结构的长度,用“位”来做单位。

一般在程序中,我们用(DWORD)sizeof(NOTIFYICONDATA) 给它赋值。

HWnd : 一个句柄,如果对托盘中的图标进行操作,相应的消息就传给这个句柄所代表的窗口。

自然了,大多数情况下是this-> m_hWnd喽。

uID : 在工程中定义的图标IDuFlags : 这个成员标志着其他哪些成员的数据是有效的,分别为NIF_ICON, NIF_MESSAGE, NIF_TIP,分别代表着数据有效的成员是hIcon, uCallbackMessage, szTip。

当然,三个值可以用“|”联系到一起。

下面分别对涉及到的成员进行阐述hIcon : 要增加,删除或修改的图标句柄。

如果只知道个uID, 一般可能会用函数LoadIcon来得到句柄。

例如LoadIcon ( AfxGetInstanceHandle() ,MAKEINTRESOURCE (IDR_MAINFRAME) )。

uCallbackMessage : 这在对托盘区的操作中,是比较重要的数据成员。

这是个消息标志,当用鼠标对托盘区相应图标进行操作的时候,就会传递消息给Hwnd所代表的窗口。

所以说,在uFlags中,一般都得标志它有效。

这里一般都是自定义的消息。

szTip : 鼠标移动到托盘图标上时的提示文字。

三、托盘编程例子有关托盘编程的基础知识呢,也就上面这些了。

下面呢,我们就进入具体的实战演练阶段,举几个托盘编程的例子瞧瞧,加深理解。

1、将程序最小化到系统托盘区的函数toTray()。

void CTimeWakeDlg::toTray(){NOTIFYICONDA TA nid;nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA);nid.hWnd=this-> m_hWnd;nid.uID=IDR_MAINFRAME;nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP ;nid.uCallbackMessage=WM_SHOWTASK;//自定义的消息名称nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));strcpy(nid.szTip, "计划任务提醒");//信息提示条为“计划任务提醒”Shell_NotifyIcon(NIM_ADD,&nid);//在托盘区添加图标ShowWindow(SW_HIDE);//隐藏主窗口}这是个很简单的函数,里面首先给NOTIFYICONDATA赋值,然后调用shell_NotifyIcon, 头一个参数是NIM_ADD,表示添加。

然后用函数ShowWindow 隐藏主窗口,这样,就实现了将程序最小化到系统托盘区的任务了。

2、程序已经最小化到托盘区了,但是呢,对托盘图标的操作如何进行呢?这就体现了结构NOTIFYICONDA TA的成员uCallbackMessage 的作用了。

它所提供的作用就是,当用户用鼠标点击托盘区的图标的时候(无论是左键还是右键),会向hWnd所代表的窗口传送消息,如果是上例,消息的名称就是WM_SHOWTASK。

根据VC的消息机制,对自定义消息增加消息响应函数。

在头文件的//{{AFX_MSG和//}}AFX_MSG之间声明消息响应函数:afx_msg LRESULT onShowTask(WPARAM wParam,LPARAM lParam);然后在CPP文件中添加消息映射。

在BEGIN_MESSAGE_MAP和END_MESSAGE_MAP 之间加入:ON_MESSAGE(WM_SHOWTASK,onShowTask)将消息和消息响应函数映射起来。

然后就是在CPP文件中加入函数onShowTask的实现了:LRESULT CTimeWakeDlg::onShowTask(WPARAM wParam,LPARAM lParam)//wParam接收的是图标的ID,而lParam接收的是鼠标的行为{if(wParam!=IDR_MAINFRAME)return 1;switch(lParam){case WM_RBUTTONUP://右键起来时弹出快捷菜单,这里只有一个“关闭”{LPPOINT lpoint=new tagPOINT;::GetCursorPos(lpoint);//得到鼠标位置CMenu menu;menu.CreatePopupMenu();//声明一个弹出式菜单//增加菜单项“关闭”,点击则发送消息WM_DESTROY给主窗口(已//隐藏),将程序结束。

menu.AppendMenu(MF_STRING,WM_DESTROY, "关闭");//确定弹出式菜单的位置menu.TrackPopupMenu(TPM_LEFTALIGN,lpoint-> x,lpoint-> y,this);//资源回收HMENU hmenu=menu.Detach();menu.DestroyMenu();delete lpoint;}break;case WM_LBUTTONDBLCLK://双击左键的处理{this-> ShowWindow(SW_SHOW);//简单的显示主窗口完事儿}break;}return 0;}在第八期的高级用户界面里用VC设计托盘图标程序中国矿业大学宋端智---- Windows95/98/NT/2000中,任务栏的右边(托盘)常驻几个图标,如输入法切换图标、音量控制图标等,此外我们还经常遇到拥有托盘图标的软件,如金山词霸、有实时监测功能的杀毒软件等。

这些软件在后台运行,通常不占用太多的屏幕资源,只在通知栏上放一个小小的标志。

必要时我们可以通过用鼠标点击图标对其进行菜单操作或激活其主窗口。

有时我们自己编写的程序也希望有类似的效果,本文详细地介绍用VC设计这种托盘图标程序的方法。

---- 一、NOTIFYICONDATA结构---- NOTIFYICONDATA结构包含了系统用来处理托盘图标的信息,它包括选择的图标、回调消息、提示消息、图标对应的窗口等内容。

其定义为:typedef struct _NOTIFYICONDATA {DWORD cbSize;//以字节为单位的这个结构的大小HWND hWnd;//接收托盘图标通知消息的窗口句柄UINT uID; //应用程序定义的该图标的ID号UINT uFlags;//设置该图标的属性UINT uCallbackMessage;//应用程序定义的消息ID号,此消息传递给hWndHICON hIcon;//图标的句柄char szTip[64];//鼠标停留在图标上显示的提示信息} NOTIFYICONDA TA, *PNOTIFYICONDA TA;该结构中,成员uFlags可以使下列之一或组合:NIF_ICON 设置成员hIcon有效NIF_MESSAGE 设置成员uCallbackMessage有效NIF_TIP 设置成员szTip有效---- 二、Shell_NotifyIcon函数---- 全局函数Shell_NotifyIcon() 用于在托盘上增加、删除或修改图标。

其原型为:WINSHELLAPI BOOL WINAPIShell_NotifyIcon( DWORD dwMessage,PNOTIFYICONDA TA pnid);---- Pnid是上面的NOTIFYICONDATA结构的指针;dwMessage是被传递的消息,可以是以下消息之一:NIM_ADD 增加图标NIM_DELETE 删除图标NIM_MODIFY 修改图标---- 三、托盘图标程序设计示例---- 首先我们用AppWizard创建一个不基于文档/视图结构的应用程序Tray。

我们并不想在应用程序启动时显示主窗口,所以删除应用程序类CTrayApp中InitInstance()函数中的以下两句使主窗口显示的代码:pFrame-> ActivateFrame();pFrame-> ShowWindow(SW_SHOW);在CMainFrame类中加入NOTIFYICONDATA结构的保护成员变量m_tnid,并在其OnCreate函数中return语句前加入生成托盘图标的代码:m_tnid.cbSize=sizeof(NOTIFYICONDATA);m_tnid.hWnd=this-> m_hWnd;m_tnid.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP;m_tnid.uCallbackMessage=MYWM_NOTIFYICON;//用户定义的回调消息CString szToolTip;szToolTip=_T( "托盘图标实例");_tcscpy(m_tnid.szTip, szToolTip);m_tnid.uID=IDR_MAINFRAME;HICON hIcon;hIcon=AfxGetApp()-> LoadIcon(IDR_MAINFRAME);m_tnid.hIcon=hIcon;::Shell_NotifyIcon(NIM_ADD,&m_tnid);if(hIcon)::DestroyIcon(hIcon);---- 回调消息的ID应在主框架类的头函数中定义:#define MYWM_NOTIFYICON WM_USER+1---- 为了处理图标回调消息,如鼠标左键双击、鼠标右键单击消息,我们重载WindowPr oc()函数。

相关文档
最新文档