Framework 1.0/1.1中NotifyIcon的不足
生活随笔
收集整理的這篇文章主要介紹了
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功能。
??? 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功能。
總結
以上是生活随笔為你收集整理的Framework 1.0/1.1中NotifyIcon的不足的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DICOM worklist工作原理?
- 下一篇: java传入数据库生成柱状图_Java读