创建Tooltip的时候,GetLastError是1309的解决方法

来源:互联网 发布:java培训机构排行榜 编辑:程序博客网 时间:2024/05/01 18:26

在创建Tooltip的时候,总是失败,GetLastError,一下,发现是 1309,意思是:目前未模仿客户端的线程试图在模仿令牌上操作。

因为编译的是 Unicode 版本, 在SDK中有如下的定义:

#define _WIN32_IE 0x0600
#define WINVER   0x0502
#define _WIN32_WINNT 0x0502

 

然后问题就来了

typedef struct tagTOOLINFOW {
        UINT cbSize;
        UINT uFlags;
        HWND hwnd;
        UINT_PTR uId;
        RECT rect;
        HINSTANCE hinst;
        LPWSTR lpszText;
#if (_WIN32_IE >= 0x0300)
        LPARAM lParam;
#endif
#if (_WIN32_WINNT >= 0x0501)
        void *lpReserved;
#endif

} TTTOOLINFOW, NEAR *PTOOLINFOW, *LPTTTOOLINFOW;
cbSize 赋 sizeof(TTTOOLINFOW) 是不行,要 sizeof(TTTOOLINFOW) - sizeof(void *)才行。

原创粉丝点击