NOTOFYICONDATA结构的问题。
使用的VC6.0里面的NOTOFYICONDATA结构如下:
- C/C++ code
typedef struct _NOTIFYICONDATA { DWORD cbSize;HWND hWnd; UINT uID; UINT uFlags; UINT uCallbackMessage; HICON hIcon; WCHAR szTip[64]; } NOTIFYICONDATA, *PNOTIFYICONDATA;想要变为新的结构:
- C/C++ code
typedef struct _NOTIFYICONDATA { DWORD cbSize; HWND hWnd; UINT uID; UINT uFlags; UINT uCallbackMessage; HICON hIcon; #if (_WIN32_IE < 0x0500) TCHAR szTip[64]; #else TCHAR szTip[128]; #endif #if (_WIN32_IE >= 0x0500) DWORD dwState; DWORD dwStateMask; TCHAR szInfo[256]; union { UINT uTimeout; UINT uVersion; } DUMMYUNIONNAME; TCHAR szInfoTitle[64]; DWORD dwInfoFlags; #endif #if (_WIN32_IE >= 0x600) GUID guidItem; #endif} NOTIFYICONDATA, *PNOTIFYICONDATA;因为需要用到里面的几个成员dwInfoFlags dzInfoTitle szInfo 。
这是别人写好的一个程序,根据使用者的要求更改了另一个类里的内容,但都跟这个无关。
就是Rebuild ALL的时候 就出现这方面的错误了。。没办法进行调试自己修改的结果。。
查到的有说和IE有关系,不知道原因,或者SDK需要更新。但我这公司电脑限制很多,不能下载,也只能打开少有的网站。
小弟水平一般,属于新手阶段,还望大神们帮下忙
[解决办法]
只更新头文件,没有对应的库文件是不行的,最好还是有条件使用完整的新SDK.
[解决办法]
不需要,直接改stdafx.h里的
#ifndef _WIN32_IE
#define _WIN32_IE 0x0400//改为0x0500
#endif
[解决办法]
改结构体名 如 _NOTIFYICONDATAEX
全文搜索,项目中替换