Framework 1.0/1.1中NotifyIcon的不足

.NET Framework 1.0/1.1中给我们提供了一个NotifyIcon类,使用这个类我们可以非常方便的实现系统托盘(SystemTray)图标。可是不知道微软是为了兼容性还是为了偷懒,只实现了NOTIFYICONDATA结构的v5.0之前版本,也就是说不支持5.0及以后的balloon tip功能emsad.gif

    Shell struct v5.0 and later中的NOTIFYICONDATA结构定义为:
ExpandedBlockStart.gifContractedBlock.giftypedef struct _NOTIFYICONDATA dot.gif{
InBlock.gif    DWORD cbSize;
InBlock.gif    HWND hWnd;
InBlock.gif    UINT uID;
InBlock.gif    UINT uFlags;
InBlock.gif    UINT uCallbackMessage;
InBlock.gif    HICON hIcon;
InBlock.gif    TCHAR szTip[
64];
InBlock.gif    DWORD dwState;
InBlock.gif    DWORD dwStateMask;
InBlock.gif    TCHAR szInfo[
256];
ExpandedSubBlockStart.gifContractedSubBlock.gif    union 
dot.gif{
InBlock.gif        UINT uTimeout;
InBlock.gif        UINT uVersion;
ExpandedSubBlockEnd.gif    }
;
InBlock.gif    TCHAR szInfoTitle[
64];
InBlock.gif    DWORD dwInfoFlags;
InBlock.gif    GUID guidItem;
ExpandedBlockEnd.gif}
 NOTIFYICONDATA, *PNOTIFYICONDATA;

    而微软Framework 1.0/1.1中实现的NOTIFYICONDATA是:  
None.gif[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto, Pack=1)]
None.gif
public class NOTIFYICONDATA
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif    
public int cbSize;
InBlock.gif    
public IntPtr hWnd;
InBlock.gif    
public int uID;
InBlock.gif    
public int uFlags;
InBlock.gif    
public int uCallbackMessage;
InBlock.gif    
public IntPtr hIcon;
InBlock.gif    [MarshalAs(UnmanagedType.ByValTStr, SizeConst
=0x40)]
InBlock.gif    
public string szTip;
InBlock.gif    
public NOTIFYICONDATA()
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
this.cbSize = Marshal.SizeOf(typeof(NativeMethods.NOTIFYICONDATA));
ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}

    不过稍微感到欣慰的是在Framework 2.0中,NotifyIcon支持了v5.0以后的Balloon Tip功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300575.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文读懂 .NET 中的高性能队列 Channel

介绍System.Threading.Channels 是.NET Core 3.0 后推出的新的集合类型, 具有异步API,高性能,线程安全等特点,它可以用来做消息队列,进行数据的生产和消费, 公开的 Writer 和 Reader api对应消息的生产者和消费者,也让Channel更加…

java字符数组初始化_Java 字符串(一)字符串初始化

一、String类概述1、概述java.lang.String类代表字符串。Java程序中所有的字符串文字(例如 "abc" )都可以被看作是实现此类的实例。String 是引用数据类型,不是基本数据类型。类String 中包括用于检查各个字符串的方法,比如用于比较字符串&…

一晚啪了5只喵,累到在医院打点滴,这中国喵把英国人看傻了 | 今日最佳

世界只有3.14 % 的人关注了青少年数学之旅最近,一只叫xiaopi的中国猫在英国红了!好多媒体都报道了它…“猫咪一夜连XX 5只母喵后,累到挂点滴”《LADbible》,《Mirror》都可以看到它疲惫的小脸蛋…在《每日邮报》,xiaop…

Locations Section of OpenCascade BRep

Locations Section of OpenCascade BRep eryar163.com 摘要Abstract:本文结合OpenCascade的BRep格式描述文档和源程序,对BRep格式进行分析,详细说明BRep的数据组织形式。本文主要通过对BRep文件中的Locations部分的读写代码进行分析&#xff…

孙悟空都服输!波士顿动力最新逆天机器人视频,翻筋斗连拿大顶!

全世界只有3.14 %的人关注了青少年数学之旅刚刚,波士顿动力公司在YouTube发布了两段真正震撼的新视频:双足人形机器人Atlas展示倒立、360度翻跟头、旋转的跑酷Demo:More Parkour Atlas。四足机器人Spot的商业化广告宣传片:Spot La…

C#实例:datagridview单元格合并

这是替C#微信交流群群友做的一个小实例,目的就是在datagridview选择对应行以后,点击button后获取对应行的ip,并执行相应的操作,其实我觉得这样的话button没必要非放置到datagridview里面的!但是为了满足群友的需求&…

NO.106 需求的状态、研发阶段及注意事项。

为什么80%的码农都做不了架构师?>>> 禅道项目管理软件设计的需求有两个字段来跟踪它的变化,一个是需求的状态字段,一个是需求的研发阶段字段,下面来看下这两个字段。 一、需求的状态 需求状态(status)字段&#xff0c…

java实例化泛型_Java让泛型实例化的方法

泛型对象可以实例化吗?不可以,T tnew T()是不可以的,编译器会报错。由于泛型擦除,编译器在编译时无法确定泛型所对应的真实类型解决方法使用反射新建实例Type superclass getClass().getGenericSuperclass();ParameterizedType p…

几种人类设计的永动机,最后一个彻底服了!| 今日最佳

全世界只有3.14 %的人关注了青少年数学之旅众所周知,永动机是违反当前客观科学规律的概念,是永远不能够被制造出来的。下面这些都是人们根据不同原理设计出来的,看一看有什么神奇之处,最后一个是亮点!▲达芬奇设计的永…

剖析WPF依赖属性

这节来讲一下WPF中的依赖属性 (Dependency Property)。【了解属性和字段】我们知道,属性是面向对象语言中用来封装字段的外衣,它像是字段对外界的桥梁,我们可以通过属性来验证数据的合法性或控制对外的访问性等等。每个属性的背后都有其对应的…

你在孩子身上偷的懒,终将会变成最大的遗憾

全世界只有3.14 %的人关注了青少年数学之旅我们来看一个非常有趣的统计:2007年—2016年全国高考状元父母职业统计最优秀的孩子大多数出自教师家庭。很家长说,教师有着和孩子一样的寒暑假,有着教书育人的先天优势,我们普通人工作忙…

开发们 点广告-赚点BT币

2019独角兽企业重金招聘Python工程师标准>>> http://freebitco.in/?r14320 转载于:https://my.oschina.net/wangtao/blog/180765

Asp.net页面的生命周期

介绍Asp.net是微软.Net战略的一个组成部分。它相对以前的Asp有了很大的发展,引入了许多的新机制。本文就Asp.net页面的生命周期向大家做一个初步的介绍,以期能起到指导大家更好、更灵活地操纵Asp.net的作用。当一个获取网页的请求(可能是通过…

太赞了!微软《dotnet中文手册》火了,完整PDF开放下载!

这是微软高级架构师基于最新的.net编写,循序渐进地对.net/C#进行讲解。对于零基础可以作为.net的快速入门教材,对于高级程序员而言,这也是你的进阶之路,今天来了,就是缘份,看到了就送给你!资料介…

你穿衣品味还不如AI,这有一款时尚着装网络模型

全世界只有3.14 %的人关注了青少年数学之旅有一件衣服的时候,怎样的小改动可以提升其整体的时尚性?近日 UT 奥斯汀、康奈尔大学、乔治亚理工和 Facebook AI 研究中心的研究者提出了一种名为 Fashon 的模型,用于给一件衣服进行改进&#xff0…

分割移动微小物体

思路&#xff1a;1. 前后两帧相减&#xff0c;得到差分图像2.在差分图像里求像素最大的点&#xff08;最亮的点&#xff09;这样就得到&#xff0c;移动微小物体#include "check.h"#include <iostream.h>voidmain(){ DWORD t1,t2; IplImage *frame0; …

一个非常实用的Python SSH库

前言 Python的Paramiko库&#xff0c;它是一个用于实现SSHv2协议的客户端和服务器的库。通过使用Paramiko&#xff0c;我们可以在Python程序中轻松地实现远程服务器的管理、文件传输等功能。特别做智能硬件产品的同学要熟悉它&#xff0c;因为它能为你减少很多麻烦&#xff0c…

在腾讯,我的试用期总结!

在腾讯的 3 个月&#xff0c;我经历了些什么&#xff1f;大家好&#xff0c;我是鱼皮。最近不少小伙伴顺利毕业&#xff0c;入职了新公司&#xff0c;开始了人生第一段正式工作经历。但对于很多公司&#xff0c;如果你想要成为正式员工&#xff0c;是需要先经历几个月的试用期的…

这6个动作,据说只有20%的人能做到!| 今日最佳

全世界只有3.14 %的人关注了青少年数学之旅你的手指够灵活吗&#xff1f;能做出下面这些动作在回答吧。据说就是下面这6个动作&#xff0c;据说只有20%的人能做到哦&#xff01;大家不妨试试&#xff0c;看看你是不是这20%中的一员。PS&#xff1a;反正笔者已经十指已打结了...…

打造个性化的Internet Explorer

作者&#xff1a;孙辉 在Microsoft的软件哲学中&#xff0c;框架窗口是一个十分重要的角色&#xff0c;这类窗口简直无处不在。所谓框架窗口&#xff0c;就是四个窗口边上具有停靠对象能力的窗口对象&#xff0c;从现象上看&#xff0c;框架窗口有十分特别的“边”&#xff0c;…