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

用VB实现任务栏右下角的小图标

HTML文档下载 WORD文档下载 PDF文档下载
用VB实现任务栏右下角的小图标


将VB应用程序缩成系统状态栏图标二法
第一种方法:
VB光盘的tools\unsupport\systray目录下有一个例子,将此目录复制到硬盘,编译生成一个OCX控件,在自己的程序中使用此控件,可以实现将程序图标放于右下角系统图标区,这方法比调用API要简单得多


第二种方法:
梁洁仪
---- 在很多应用程序中,其操作窗口缩小后将变成一图标放置在系统状态栏中。

---- 为什么有的程序可以缩小成图标呢?

---- 对于Windows来说,这些图标并非窗口或程序,它们只是图标,能作出这样的功能,关键在于调用了Windows的API函数Shell_NotifyIcon,在Visual Basic开发环境中,通过其所附带的API浏览器,我们可查找出Shell_NotifyIcon的声明格式如下:

---- Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long

---- 现把本函数声明中的参数分别说明如下:

---- 参数dwMessage为消息设置值,它可以是以下的几个常数值:0、1、2。在程序中为了使用更方便,我们把它们定义为三个常量:NIM_ADD、NIM_MODIFY及NIM_DELETE,本示例中的常量及Shell_NotifyIcon调用都可以在窗口新建的模块中声明它:

Public Const NIM_ADD = 0 //加入图标到系统状态栏中
Public Const NIM_MODIFY = 1 //修改系统状态栏中的图标
Public Const NIM_DELETE = 2 //删除系统状态栏中的图标

---- 这三个常量的应用将中下文中具体介绍。
---- 参数LpData 用以传入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

---- 在本数据结构定义中,各变量都有其实用意义:
cbSize:需填入NOTIFYICONDATA数据结构的长度。
HWnd:设置成窗口的句柄。
Uid:为图标所设置的ID值。
UFlags:用来设置以下三个参数uCallbackMessage、
hIcon、szTip是否有效。
UCallbackMessage:消息编号。
HIcon:显示在状态栏上的图标。
SzTip:提示信息。

---- 其中参数uCallbackMessage、hIcon、szTip也应在模块中声明为以下的常量:
Public Const NIF_MESSAGE = 1
Public Const NIF_ICON = 2
Public Const NIF_TIP = 4

---- 了解了上述各参数所代表的意义,就可以直接编写代码了。应用本函数所建立的窗体示例(略)。
---- 为了进一步让大家了解本函数的使用,下面将将详细介绍上例所需编写的代码。

---- 1、加入图标按钮。代码如下:

Dim nid As NOTIFYICONDATA

nid.cbSize = Len(nid)
//取数据结构的长度设置给cbSize
nid.hWnd = Me.hWnd //设置窗体的句柄
nid.uID = 9999 //图标的ID值,可自定义
nid.uFlags = NIF_ICON //表示设置图标
nid.hIcon = Me.Icon
//把图标设置成当前窗体的图标,也可以指定为某一图标文件

Shell_NotifyIcon NIM_ADD, nid //加入图标

---- 2、删除图标按钮。这里要注意的是,当我们把图标加入到状态栏后,一定要把hWnd及uID的值记下来,不然将无法正确删除此图标,本按钮的Click事件代码如下:

Dim nid As NOTIFYICONDATA
nid.cbSize = Len(nid)
nid.hWnd = Me.hWnd //记下句柄
nid.uID = 9999 //ID值
Shell_NotifyIcon NIM_DELETE, nid
//调用Shell_NotifyIcon函数删除它

---- 3、改变图标按钮。同样的道理,在窗体运行过程中,如果要更新图标,可以用以下的Click事件代码来完成:
Dim nid As NOTIFYICONDATA
nid.cbSize = Len(nid)
nid.hWnd = Me.hWnd
nid.uID = 9999
nid.uFlags = NIF_ICON
nid.hIcon = Image1.Picture
//用窗体中的Image控件中之图片来代替

Shell_NotifyIcon NIM_MODIFY, nid //修改它

---- 4、设置信息提示按钮。提示信息就是当我们将鼠标移到本图标上时,这些图标会显示出来的信息,下面的Click事件代码可以作到:
Dim nid As NOTIFYICONDATA

nid.cbSize = Len(nid)
nid.hWnd = Me.hWnd
nid.uID = 9999
nid.uFlags = NIF_ICON + NIF_TIP
nid.szTip = "这是试验图标" + Chr(0)
Shell_NotifyIcon NIM_MODIFY, nid

---- 当然,在把本窗口缩小成图标的同时,也别忘了将窗口隐藏,代码是:Me.hide。这样窗口就不会在任务栏中出现了。
---- 利用Win 32 API函数,我们可以完成很多VB本身不具备的功能,只要灵活运用,必能为VB应用程序增色不少,

VB如何检测是否已连接到Internet? VB如何利用Winsock控件编写自己的Internet程序 VB如何每天抓取 Internet 上某一个网页中的图片来更换桌面的壁纸 VB如何启动拨号网路中的连线? VB如何使用MSCOMM32.OCX发送大于80H的字符,可否给个示例程序? VB如何用VB打开默认浏览器或默认发信程序? VB如何用Visual Basic编写小型的网络系统 VB如何在程序中启动 NT 的【拨号连接】对话框? VB如何在网页上使用 VB5 制作的 ActiveX 控件? VB如何中断【拨号网络连接】? 设计Browser及FTP程序 -VB资料 设计Chat程序 -VB资料 设计E-mail程序 -VB资料 使用VB获得一页的HTML代码 使用VB收发电子邮件 VB使用超链接和发送Email VB使用浏览器的文件复制对话框 输入/输出篇 -VB资料 通过WnetEnumResource函数获得网络资源 -VB资料 通往 Internet 的捷径-VB资料 显示计算机的名称 -VB资料 VB用 MAPI 控件实现发送邮件 VB用 WinSock 控件下载文件 VB用 Winsock 实现聊天的程序 VB用Internet Transfer编写FTP程序 VB用Sockets发送电子邮件 用VB 创建自己的通信程序 用VB5.0开发通信软件的技巧 用VB5开发IE 用VB编写网络寻呼 用VB编写小型的网络系统 pl/sql 中 delete 记录 请问大家有谁知道北京市软考的报名时间吗?在什么地方报名?先谢了! delphi中的字体问题 高分求救,关于数据库图象保存的问题?? 计算机网络可以虚拟现实,但不能虚拟感情。 关于注册表的几个问题? (高分!!!) 我的vc6为什么不支持模板特化 怎么实现这个对话框的功能?谢谢 如何判断表单没有某个对象??? 怎样删除ListBox所选的内容??? 问大家一个超级难的问题,来者有分啊 请问如何把string类型转换为int类型啊? 我的msdn怎么了! C语言 在局域网中怎么才能使linux访问Internet? 我要问一个烂问题哈哈! 打印 华泰贝通,北京创智你去那家? 学习vc++,我离不开书,或者说了开书后,我什末也做不了,我该如何继续学习? 华泰贝通,北京创智你去那家? 简单问题:PB6.5中调用SQLSERVER的procedure! 打印 怎么去掉单文档视图中的菜单 华泰贝通,北京创智你去那家? 哪里有IDE技术规范的中文资料下载? 华泰贝通,北京创智你去那家? 哪里有IDE技术规范的中文资料下载? 如何把从文本登录该为Xwindow登录方式呢? 华泰贝通,北京创智你去那家? /***VC 6.0 的两个操作*/ 有关编译错误,百思不得其解!!(菜鸟那分) 怎么实现程序的换肤功能呢?? 怎样实现左连接(left outer join),右连接 这个网站制作费能值多少?? 怎样处理异质链表? 报表打开的时候缺省为最大化状态,怎么样为设计时候状态? 除了梅尔森式外,还有哪个比较好用的质数生成式?(要100位左右的) 如何在英文版的WINDOWS2k上输入中文? 为了提高大家专家分的质量,希望大家不要再散分了! 我在sun的网站上下了jdk1.4,请问怎么把JBuilder6的jdk升级到jdk1.4? 大家给推荐windows程序,sdk编程的入门好书(不是MFC的)言者有分 我在http://soft.jx163.com/上下载了JBuilder7但不知道怎样得到注册码 有没有其它免费空间(要支持ASP的) 为什么每次打开水晶报表都要求输入oricle数据库的密码和用户名,这些可以在程序里面完成吗?可以再crystalreportviewer空间里面实现翻页 请解释一下ASSERT()函数的作用 informix问题,紧急求救 求救!高手请进来 求助:build winsock 程序时出现 link 错误。 怎样能够将source safe link 像VC哪样集成到自己的应用程序? 关于用ASP+JMAIL开发一个像网易那种类似功能邮件系统的可行性!!!!大家来讨论一下!!! SQL Server7.0的ODBC驱动哪里有(不想安装客户端) 含有赞扬和喜爱的感情色彩的成语 分子间的斥力是怎么来的?分子间的引力是不是就是万有引力?分子间存在这引力和斥力,并且随着距离的变小而变大,但那些力是怎么来的呢?分子间的引力的话是不是就是万有引力?这样的话为 金刚石和石墨是否具有相同的化学组成? 如图,已知菱形ABCD的边长为3,延长AB到E,使BE=2A,连接EC并延长AD交延长线于F,求AF的长. 谁能给我讲讲万有引力,分子斥力,吸力等方面的内容?我对这很感兴趣 金刚石,石墨的化学结构一个金刚石(石墨)分子由几个原子构成 如图,菱形ABCD边长为3,延长AB到E使BE=2AB,连结EC并延长交AD延长线于点F,如果△EBC~△EAF,试求AF的长 大学学的知识和高中学的有什么不同呢?大学真的想电视里说的那样轻松吗?谢谢 有一批货物,第一天运了这批货物的4分之1,第二天运的是第一天的5分之3,还剩90吨没有运,这批货物有多少吨 有一批货物,第一天运走1/4,第二天运的是第一天的3/5,还剩180t没运,货物共多少t 已知m自由下落,进入积雪中,已知球重m,球从空中到地面距离为h,由地面到雪里停下距离为l,利用:①单一质点的动能定理②质点系的动能定理③功能原理分别求雪对m的平均阻力. 有一批货物,第一天运了这批货物的4分之1,第二天运的是第一天的5分之3,还剩90吨没有运,这批货物有多少 有一批货物,第一天运了这批货物的1/4,第二天运的是第一天的3/5,还剩下90吨没有运,这批货物共有多少吨不要用方程 大学电路知识求解答,部分高中的知识 (题中"/"是绝对值的符号)一、解方程1、2X+5=25-8X 2、8X-2=7X-2 3、2X+3=11-6X 4、3X-4+2X=4X-3 5、10Y+7=12-5-3Y 6、2.4X-9.8=1.4X-9 7、3Y-6=12 8、2-1-2=-2 9、23Y-4+74-18Y=4Y 10、4X-20-X=6X-54-X 11、32Y+1=21Y-3Y-13 二、解下列 有一批货物,第一天运走了这批货物的1/4,第二天运的是第一天的3/5,还剩下180吨没有运.这批货物有多少吨甲、乙两人原来的钱数比是7:3,现在甲拿出60元给乙,这时甲、乙两人的钱数比是2:3,求 还是一动初等力学题,运用到一点点大学知识.长l,质量m的刚体棒弄左端点被回转轴A连接于顶面.B点也被支撑点支撑着.棒是水平的.重力加速度g.请回答以下问题.2.1 求刚体棒的回转轴A旋转的惯 高一化学铁三角,FE,FE2,FE3之间的相互转换.最少有6个方程式.但我想要越多越好. 如图,AB是圆O的直径,弦CD和AB相交于P,且APC=45,若BP=2,AP=8,求CD的长如图,AB是圆O的直径,弦CD和AB相交于P,且∠APC=45°若BP=2,AP=8,求CD的长 有一堆货物,第一天运走了这批货物的4分之3,第二天运的是第一天的5分之4,还剩下180吨没运.这批货物有? 已知平行四边形ABCD的周长为20,过顶点A作AE垂直DC于点E,AF垂直BC于点F,若AE=4,AF=3,则ce-cf等于 文明礼仪的诗句有那些? 按不同的感情色彩给成语分类两袖清风 闻风丧胆 义正词严 夸大其词 以生作则 得意洋洋 张牙舞爪德高望重 有头无尾 埋头苦干 填褒义词和贬义词的分类 淀粉遇到什么物质变蓝色? 一道数学立体几何题在三棱锥S-ABC中,SA、SB、SC两两垂直,且SA=1,SB=根2,SC=根3,则空间一点O到S、A、B、C等距离d的值是多少? 感情色彩不同的一对成语 什么遇淀粉变蓝 什么可以物质可以被氢气还原?最好举多点有机物的例子,什么有机团可以被氢气还原最好举一些有机物 描写感情色彩不同的两对成语 1.解二元一次方程组的主要思路是_____ 2.加减消元的主要思路是______ 1.数据收集的两种常用方法为:_____和_____ 2.全面调查是从总体中______进行调查 3.在统计中,____的全体称为总体,总体中的____称 圆锥的高与母线的夹角是45°,圆锥底面半径是3,求;圆锥的高,母线的长和轴截面所谓面积 可乐混薄荷糖会引起化学反应,实验中很多人用的都是曼妥思薄荷味糖和口香糖.那能用别的薄荷糖吗?比如:普通的薄荷硬糖、薄荷凉糖等,徐福记的薄荷硬糖什么的. 将这类薄荷味硬糖加入 基础 的 不难的12°36′18〃=——°下列说法正确的是a、锐角的2倍是钝角b、钝角的一半是锐角(说明理由)8:00开始,到时针转了75°是结束,是几时? 氢气还原氧化铜生成什么物质 感情色彩不同的成语 .第一题,. 用足量氢气还原氧化铜后留下的红色物质是什么若试管内部附着它,为何不能用稀盐酸浸泡除去? 可乐与曼妥思是发生的化学反应么? 历史上手上有十个簸箕的人物 语言是不是文化传播交流的重要途径之一? 4个感情色彩安全一样的表示“笑”的成语 男孩子手上有十个簸箕什么意思? 【文化的交流传播是文化创新的重要形式】这句话对不对? 还有什么像曼妥思加可乐的化学反应 利用旋转变换设计图案的步骤 利用平移变换设计图案的步骤 利用轴对称变换设计图案的步骤 甲乙丙三人打水甲打一桶3分钟 乙大一桶2分钟 丙大一统1分钟,他们打完水最少一共等待多少分钟 在菱形ABCD中,P是AB上的一个动点(不与A、B重合).连接DP交对角线AC与E,连接BE.(1)证明:角APD...在菱形ABCD中,P是AB上的一个动点(不与A、B重合).连接DP交对角线AC与E,连接BE.(1)证明:角APD=角CBE(2 利用平移,旋转 轴对称 中心对称 设计图案利用平移,旋转 轴对称 中心对称 的图形变化设计一副图案最好起个名称,并配上简单的设计说明 甲、乙丙三人分别拿着2、3、1、个热水瓶去打水,打满要用1分钟,怎样安排他们打水次序使他们所花时间最少包括等候时间 菱形ABCD中,P是AB上的一动点(不与A,B重合),连接DP交对角线AC于点E,连接EB.若∠DAB=60°,试问点P运动到 干燥的I2与淀粉混合会变蓝吗?另外,是淀粉使I2变蓝还是I2使淀粉变蓝? 硫的化学方程式 已知:如图,在菱形ABCD中,P是AB上一点,联接EB,求证:∠APD=∠EBC 求(上海高中)高一化学知识整理:整理硫、氮相关知识就是这个题目,只要求硫、氮的相关知识,其他的别给我找多谢 一道数学立体几何大题正三棱柱ABC-A1B1C1的底面边长为2,侧棱长为√3,D为BC上的一点,在截面ADC1中,∠ADC1=90°.求:(1)二面角C1-AD-C的大小;(2)点B1到平面ADC1的距离. 已知如图 在菱形ABCD中,点E在对角线AC上,点F在BF的延长线上,BF=EB,EF与CD相交于G1)求证:EG.GF=CG.GD2)联接DF,如果EF垂直CD,那么FDC与ADC之间有怎么样的数量关系?证明结论(我不能画图)补充图片 怎样利用轴对称,平移,旋转,中心对称等等设计一个简单标志性图案? 薄荷糖放在可乐里就会象喷泉一样喷出,什么原因 手纹:10个簸箕的男生和10个簸箕的女生我和我女朋友都是10个簸箕,而且她是白羊座,我是天枰座而且我们俩的观点好多都截然相反,谁在这方面比较给力的,我们在一起合适不?星座跟手纹的这 平移轴对称旋转都存在的好看的图形有嘛?因为我要画在纸上
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘