说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

用Visual Basic编写托盘程序

HTML文档下载 WORD文档下载 PDF文档下载
用Visual Basic编写托盘程序



  在WINDOWS98里,右下角有许多应用程序的图标。而程序本身的窗口是隐藏的,若你需要调用应用程序的窗口,则双击该图标即可。这种程序称为托盘程序。这是WINDOWS98操作系统的一大特色。使用户能够更加快捷的显示和隐藏应用程序,可以使任务栏不致于太乱。托盘程序在Visual Basic里是怎么实现的呢?
    编写托盘程序主要解决两个问题:(1)创建、修改、删除托盘;(2)如何对托盘接收到的消息进行处理。这就要用到几个Windows API函数。
    首先,Shell_NotifyIcon是用于托盘的Shell API。该API用到一个NOTIFYICONDATA结构.
  Type NOTIFYICONDATA
    cbSize As Long '该结构所占字节数
    hwnd As Long '接收托盘图标消息的窗口指针
    uID As Long '由程序定义的图标识别符,因为有的程序有多个图标
    uFlags As Long '对托盘图标操作的标志,包括添加、删除、修改
    uCallbackMessage As Long '标志应用程序的消息
    hIcon As Long '托盘图标指针
    szTip As String * 64 '当鼠标指到托盘图标时提示字符串
  End Type
    其次,应该考虑怎样在VB中接收、处理托盘的消息(双击、单击、左键、右键)。C++、Delphi等语言对消息循环的处理较简单,但在VB中处理消息循环时必须应用Win32的SetWindowLong、CallWindowProc这两个API函数。SetWindowLong 函数利用GWL_WNDPROC 索引来创建窗口类的子类(窗口类是用来创建窗口的),它使用AddressOf关键字和回调函数(WindowProc)来截取消息并根据消息来执行相应的功能,如窗口的最大化、最小化、隐藏、退出等。CallWindowProc函数调用原窗口类缺省的指针,程序最后退出时可通过SetWindowLong来关闭子类,重新使原来的Windows过程成为回调函数。
    本程序项目包括一个模块和一个窗体
    1、模块源代码为:
   Option Explicit '强制定义每个使用的变量
    Type NOTIFYICONDATA '定义结构NOTIFYICONDATA
     cbSize As Long
     hwnd As Long
     uID As Long
     uFlags As Long
     uCallbackMessage As Long
     hIcon As Long
     szTip As String * 64
    End Type
    '以下为 Shell_NotifyIcon将用到的常量
    Public Const NIF_ICON = &H2
    Public Const NIF_MESSAGE = &H1
    Public Const NIF_TIP = &H4
    Public Const NIM_ADD = &H0
    Public Const NIM_DELETE = &H2
    Public Const NIM_MODIFY = &H1
    'Shell_NotifyIcon的函数声明
    Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA"
    (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
   '处理消息将用到的结构、常量、API声明
    Type POINTAPI
     x As Long
     y As Long
    End Type
    Type Msg
     hwnd As Long
     message As Long
     wParam As Long
     lParam As Long
     time As Long
     pt As POINTAPI
    End Type
     Public Const WM_USER = &H400
  Public Const WM_RBUTTONDOWN = &H204
  Public Const WM_LBUTTONDBLCLK = &H203
    Public Const GWL_WNDPROC = -4
    Public trayflag As Boolean '定义托盘图标是否在桌面上
    Global lpPrevWndProc As Long
    Global gHW As Long
  Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
   '以下过程为消息循环处理
  Function WindowProc(ByVal hw As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
   If hw = Form1.hwnd And uMsg = WM_USER+100 Then'检测到鼠标点动托盘图标
    Select Case lParam
      Case WM_RBUTTONDOWN '鼠标右键按下
     Form1.PopupMenu
亿航与高德达成战略合作 LBS+引爆智能硬件软实力 《近匠》火柴手写码,输不错的验证码利器 Web、App中添加动效设计应遵循的12条原则 越狱与开源:2015移动安全峰会(MSS)纪实 开发者自白:我是如何不花一分钱收获230万应用下载量的! OpenCloud 2015报名超预期 近20位讲师会前采访提前看 硅谷公司人才招聘那些事儿——硅谷“超级面试官”董飞专访 一切为了用户体验:揭秘京东首页改版背后的故事 TIOBE 2015年4月编程语言排行榜:Java王者归来 三大主题技术峰会开幕在即 OpenCloud 2015参会者提醒 《近匠》快码,唯快不破的代码众包平台 打破边界 生态化反!乐视发布三款超级手机 苹果收购LinX:iPhone或将采用双摄像头技术 Google《Android性能优化》学习笔记 Amaze UI 2.3.0版本发布 整合多个第三方插件 专访Layabox创始人谢成鸿:Flash与HTML5结合的背后 高德推“LBS+”开放平台战略 整合位置大数据和云计算 CLion 1.0发布,C/C++跨平台集成开发环境 2015超实用的前端开发指南 期待吗?Linux 4.1将引入大量汇编代码变更! TSMC量产16FF+制程,Apple Watch或将采用Finfet技术 谷歌搜索引擎更新 移动端支持不好的网站排名将受影响 《近匠》格知GUECHI,设计师品牌让你离时尚更近 Apple Watch应用开发经验谈:我遇到的那些坑 约吗?UNITE 2015 BEIJING日程全揭晓! 谷歌扩擴增App搜索結果 已抓取300亿App页面 功耗、联网与交互:可穿戴设备操作系统问题解读 李大学离职京东后:转做投资人,助传统产业“互联网+”转型 Skype Translator实现中英实时语音对话 语音翻译领域又一新突破 如何判断自己是否适合自由职业? 创造·连接·成就:UNITE 2015 BEIJING圆满落幕 启动rose就出错,高手来看,100分 关于打印的一个问题 急!!!请提供一段设置Session的全部代码,谢谢!! 请问,从第二帧开始播放的代码的什么??? 老师要求编写五子棋的程序可是我实在想不出该怎么设定估价函数啊帮帮忙啊? 感觉压力比较大,活不下去,想跳楼自杀的进来侃侃 一个关于php提交表单的问题。 各位大侠,要命问题! 怎么在Installshield中创建对话框,并操作ACCESS数据库? win2000server的管理员密码让人改了,怎么办呀! 太气愤了,帮帮我? 用BDE连接MS SQL SERVER,为什么运行后出现未知用户名或密码的错误? datagrid中能不能进行统计 如何编写“outlook”风格的界面 如何实现flash截图?我研究了好久也不明白,希高手指点!(在线等待) 程序调用的DLL 在delphi中,用ADO如何实现将SQL中多表导出到一个Access中? 无聊啊无聊 想考软工???? Socket奇怪的问题! foxpro中如何实现按一按钮启动word和excel,并且直接弹出打开文件对话框? 关于分级权限管理(300分) 紧急求救!!!!!!!! 客户端web服务是否需要别的控件支持 帮帮我,朋友们请进.... Datareport问题! [cclq]竞选斑主,附我的方针! 用VB编写自己的服务器端组件 DAO问题,CDaoRecordset::addnew()和CDaoQueryDef::Execute插入一条记录,哪个更快? 谁能解释一下这个比较模糊的问题?关于地图窗口HWND。 闲人免进!如何增加信誉分! 如何改变Mem控件中插入符的形状? 各位大虾有没有检测日期的合法性的JAVASCRIPT脚本啊 怎么在Installshield中创建对话框,并操作ACCESS数据库? 两个问题,关于struts中form的action如何传递一个变量?如何使用科学计数变成普通数值? 救落水美女注意事项 如何学习NOTES? 急!!急!!给多分呀!!! 寻在windows下安装bugzilla时缺少的两个文件。 菜鸟问题。。。。。。需大师回答啊 怎样由实例句柄得到传口句柄? 请问,VB的DataReport是否有支持套打的功能? 有关ant和struts的问题,急。 有人用Panorama来做自动化测试吗? 请问各位,如何用PHP来实现这个功能啊! 关于列换顺序的问题 请教用户帐户在不同域间移动 ? 代理问题? weblogic81 和jbuilder怎么配置, 得到小数点后指定长度数据?? Sql语句怎么写? 三栋楼共用两个塔吊,垂直运输费怎样计取 英语翻译Care should also be taken with the compression of the video and the packaging of the DVD in order to best present one's work. 帮我翻译下英语句子1颜色对购买行为的影响.2什么颜色最吸引顾客.3绿色是广告中最流行拜托各位大神 双性恋心理是怎样产生的? 英语翻译_aid_ is a pile of pure shit.先填两个字母一个空一个,然后翻译 家里怎样用84消毒 怎么让双性恋发现自己是双性恋?我是gay,喜欢一个男的,从种种举动上发现他是双性恋,要怎么让他发现他是双性恋呢?来点实际的办法.不过别太过就OK 一个正方形,如果一边增加6厘米,另一边增加2厘米,所得到的长方形面积比原正方形面积多92平方厘米,求原正方形的边长 请用小学的知识回答问题 急急!!明天就要交了 84消毒教室 《生物化学》王镜岩上下册的课后题答案 将一个长方形的长上增加一厘米 ,宽增加三厘米 就变成了一个正方形.面积增加33平方厘米,求原来长方形的面求原来长方形面积的计算公式 求大哥哥大姐姐帮帮忙 为什么要灭菌 求王镜岩生物化学第三版上下册全部的课后答案 酒香不怕巷子深,皇帝女儿不愁嫁表现了怎样的推销观念,其突出特点是什么 为什么要消毒 把下面句子变为否定句1.Park your bike in front of the classroom building.___ ___ your bike in front of the classroom building.2.Play basketball with your friends on the stree.___ ___ basketball with your friends on the stree.3.Be late for cl 将50g蓝矾完全溶解在150g水里求质量分数 绝缘漆的化学名叫什么 将下列句子改为否定句1、The boys often play in the playground.2、David learns a lot from this book.3、The hot cottee near the clock is for the doctor4、The girl in red studies veryhard every day.5、Stand in a line.6、She usually watche 50g CuSO4·5H2O溶解在150g水里,恰好饱和,此时求m溶质,m溶剂,溶质的质量分数 Cu--64 S--32 O--16 请问电火花机工作是属于化学原理.还是物理原理.电火花机工作原理是属于化学原理.还是物理原理. 将下列句子变成否定句:1.We go to evening school at night.2.My brother works in a radio factory.3.Her name is Mei Ling.4.You have a red pencil.5.She has lunch at home.6.We have a meeting once a week.7.She has lunch at twelve. 研究运载火箭从点火到离开发射架的运动情况可以把对象看作质点吗? 磷肥和钾肥的适用范围有哪些? 如图,正方形ABCD的边长为20CM,点E在边CB的延长线上,且EB=20CM,点P在边DC上运动,EP与AB的交点为F,设DP=x CM , △EFB与四边形AFPD的面积和为y 平方厘米,则y与x的关系式为 研究长征2号运载火箭从点火到离开发射架的运动情况,能否将火箭看做质点,为什么,具体回答,答到重点研究投篮过程中篮球能否进入篮圈时 篮球能否被看做质点?,我认为能,因为决定篮球能否 写出下列字在不同句子中的反义词这道题目你回答得很正确(____)这里的情况一切正常( ) 正字的反义词我刚到这个城市,觉得一切都很生疏( )小红在楼下见到了一个生人 ( ) “生”字的反义词我 正方形ABCD的边长为10cm,点E在边CB的延长线上,且EB=10cm,点P在变DC上运动,EP鱼AB的焦点为F.设DP=Xcm,(接上面)△EFB与四边形AFPD的面积和为ycm²,求y与x之间的函数关系式(要有步骤) "鲨鱼,章鱼是鱼类吗 绝缘粉化学名怎样测试加热管内的绝缘粉质量. 如图,正方形ABCD的边长为8,点E在CB的延长线上,EB=4,点P在CD上运动(C,D两点除外),EP与AB交于点F,若CP=x,四边形AFPD的面积为y,求y关于x的函数关系式(要有过程啊!) 请问巨大八爪鱼是什么鱼? 这首诗的题目谁知道?听说 它很美 开花时如火如荼 听说 它是黄昏路上的唯一风景 妖艳而悲伤 它,彼岸花,曼珠纱华 它是红 是刺眼的血红色 它是毒,亦是药 是接近安息途中的最后一场盛宴 叶 在四边形ABCD中,AB//CD,AB=CD,E在CB延长线上,且EB=BC,DE交AB于F,求AF=FB 曼妥斯与可乐的反应最近看电视和网络上说“把一种东西放进可乐里就可以产生喷泉效应” 曼妥斯是什么东西? 我估计我们这里可能没卖的, 哪能用什么东西代替?我非常想体验一下.要放几 谁知道这首诗的题目啊?好雨知时节,当春乃发生.随风潜入夜,润物细无声.野径云俱黑,江船火独明.晓看红湿处,花重锦官城. 如图所示,已知∠MON,OP为∠MON的平分线,在OP上任取一点C,过点C作OM的垂线,垂足为E,垂线为CE交ON于B点,过点C作ON的垂线,垂足为F,垂线CF交OM于A点.问AC于BC相等吗?请示说明理由. 什么动物喝露水? 各位有谁知道这首诗的题目是什么啊?一定要对的!我知道这首诗是和《百鸟归巢图》配在一起的.全诗:作者:伦文叙归来一只复一只,三四五六七八只.凤凰何少雀何多,食尽人间千万石.我要写 有什么好的动物学的入门书籍要动物学的,最好是哺乳动物.可以的话,再推荐一些天文学的入门书籍,呃,一楼那位,你推荐的第一本书是动物学的吗,能给个中文的书名吗,看不懂的说~二楼,是动物 什么小动物喝露珠 求这道题的收敛域, 有哪些非常棒的动物学系列书籍?现在有哪些编的内容齐全,版式又好的关于动物的书籍?最好是有关脊椎动物的! 什么动物喝露水? 求收敛域 请大家推荐一本好的有关于《动物学试验》的书(适用于初学者), 过氧化氢酶和过氧化物酶的区别?求能应付问答题的答案.我搞错啦,不用问了。 求12题收敛域 独立费与税前包干费、税后包干费的区别 PH计读数不稳定是怎么回事? 欲速则不达的深刻含义对欲速则不达的一些见解欲速则不达这句话的由来有关欲速则不达的作文该怎么写 势能与密度的关系? 包干费是什么意思 章鱼是鱼类吗? 怎样的情况下会产生“双性恋”?“双性恋”的人,有什么特殊表现?如何纠正“双性恋”心理? He and I are fine,thank you. 影响水果中Vc的有什么因素我们是在探究水果中的维生素C的多少,请至少给出3个因素~ 我怀疑自己是双性恋,怎麼辨?双性恋是心理还是生理,基因影响的? 日本明治维新的内容 ph计读数下降我在测定一个溶液的PH值时,开始示数是1.30,可后来就每隔大约30s往下降一次,每次降0.01,现在都0.99了,为什么pH计平衡时间这么长啊? 斯诺登在俄罗斯找到工作 负责网站维护韩国6岁萝莉美照 【组图】劳动人口不足 推迟退休成亚洲国家\"奥巴马座驾“野兽”细节曝光:配有自动英国汇丰银行报告显示中国成最受欢迎移盘点全球最妩媚的变性人(组图)国资委部署国企改革:方案争取三中全会伊朗因美国制裁导致中国“欠了”其22报告称美财政不确定性冲击90万就业岗北京数十村民阻拦农田被承包种树时遭打猪贩两次上访被强制治疗 起诉政府被驳房利美起诉多家银行操纵LIBOR新加坡总理访问波兰美寻求硅谷帮助修复医改网站莫桑比克爆发大规模游行抗议治安恶化58同城登陆纽交所 首日股价大涨乡政府抱走超生女婴18年 家人称连罚乡政府抱走超生女婴18年 家人称被逼外交文件显示日本已具备制造核武器能力盘点基层干部“怕”事心态:图太平念“近七成受访者反对延迟退休 73.5%Air Force 1“USA”系列新华保险(601336.SH):弹性热刺边锋:球队青训很重要损人不利己的汽车配件,你躺枪了吗?郑州市第101中学校长康午生接受组织十大私募掌门开会都谈些什么?没理由不天龙八部3D 7月3日开服活动一览原油都倒下了,铜还有什么理由死撑?互联网宝宝收益继续走低成定势 余额宝近期最不值得买的10款车中国最神奇水下城堡:千岛湖水底古城李开复怎么看移动互联网洛阳华南虎满百放归虎山 萌翻众人(图哈弗H6销量持续第一,那这车到底咋样暑假异兽图鉴天兵位置详解 暑假活动合2G时代曾出现的无限流量套餐,为毛到洛阳中院召开减刑发布会 男子狱中挣分微博上的经观:不负你们的期望,不忘我图灵手机正式发布 外壳硬过钛合金秒杀短视频|接收到声波就动起来!全军最年长老红军讲抗战故事 率200
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘