Framework 1.0/1.1中NotifyIcon的不足

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

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

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

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


本文转自博客园鸟食轩的博客,原文链接:http://www.cnblogs.com/birdshome/,如需转载请自行联系原博主。

目录
相关文章
|
数据库
Entity Framework Core介绍(1)
介绍 Entity Framework (EF) Core 是轻量化、可扩展和跨平台版的常用 Entity Framework 数据访问技术。 EF Core 可用作对象关系映射程序 (O/RM),以便于 .NET 开发人员能够使用 .NET 对象来处理数据库,这样就不必经常编写大部分数据访问代码了。
1021 0
|
存储 开发框架 数据可视化
Entity Framework Core 简介
Entity Framework Core 简介
217 0
|
SQL .NET 数据库
Entity Framework Core 2.0 入门
该文章比较基础, 不多说废话了, 直接切入正题. 该文分以下几点: 创建Model和数据库 使用Model与数据库交互 查询和保存关联数据 EF Core支持情况 EF Core的数据库Providers: 此外还即将支持CosmosDB和 Oracle.
1688 0
Micro Framework Interop功能实现
目前.Net Micro Framework仅支持C#语言开发应用程序,由于是托管代码,垃圾回收随时都可能发生,其实时性很难得到保证,所以有windows开发经验的用户就会有这种想法:.Net Micro Framework能否支持非托管代码,也就是所谓的P/Invoke平台调用功能
870 0
|
SQL .NET 数据库
Entity Framework Core 入门(2)
安装 EF Core 将 EF Core 添加到不同平台和常用 IDE 中的应用程序的所需步骤汇总。 分步入门教程 无需具备 Entity Framework Core 或任何特定 IDE 的原有知识,即可学习这些入门教程。
1157 0
|
JavaScript 前端开发 Java
|
XML 物联网 数据格式
|
数据库 数据库连接 Android开发