首先,说下我已经设置了的选项:
TOOLS—>Options—>directories 里:
Executable Files 设置了安装好的bin和bin\winnt路径,并提到了最前。
Include 设置了安装好的SDK中的include路径,并提到了最前。
Lib 设置了安装好的SDK中的Lib路径,并提到了最前。程序示例,调用SetLayeredWindowAttributes(this->GetSafeHwnd(),0,205,2);编译不通过。注释掉,随便选了个winuser.h里面的函数SetParent调用。
//SetLayeredWindowAttributes(this->GetSafeHwnd(),0,205,2);
SetParent(0);编译通过并完成。
用右键Go to Definition Of SetParent.
转到了winuser.h搜索SetLayeredWindowAttributes,找到了SetLayeredWindowAttributes的定义如下:
WINUSERAPI
BOOL
WINAPI
SetLayeredWindowAttributes(
HWND hwnd,
COLORREF crKey,
BYTE bAlpha,
DWORD dwFlags);返回到自己的CPP,Go to Definition Of SetLayeredWindowAttributes 提示未定义。我就奇怪了,这函数明明和SetParent在一个头文件,为什么SetParent都行,它就不行呢?哪位大大解释下,说下解决方法。下载SDK就是为了调用一些比较新的函数的时候方便点。不想却出现这事。注意:SetLayeredWindowAttributes只是个测试例子,并不是我的目的。请别说用GetModuleHandle然后GetProcAddress之类的调用函数方法。
TOOLS—>Options—>directories 里:
Executable Files 设置了安装好的bin和bin\winnt路径,并提到了最前。
Include 设置了安装好的SDK中的include路径,并提到了最前。
Lib 设置了安装好的SDK中的Lib路径,并提到了最前。程序示例,调用SetLayeredWindowAttributes(this->GetSafeHwnd(),0,205,2);编译不通过。注释掉,随便选了个winuser.h里面的函数SetParent调用。
//SetLayeredWindowAttributes(this->GetSafeHwnd(),0,205,2);
SetParent(0);编译通过并完成。
用右键Go to Definition Of SetParent.
转到了winuser.h搜索SetLayeredWindowAttributes,找到了SetLayeredWindowAttributes的定义如下:
WINUSERAPI
BOOL
WINAPI
SetLayeredWindowAttributes(
HWND hwnd,
COLORREF crKey,
BYTE bAlpha,
DWORD dwFlags);返回到自己的CPP,Go to Definition Of SetLayeredWindowAttributes 提示未定义。我就奇怪了,这函数明明和SetParent在一个头文件,为什么SetParent都行,它就不行呢?哪位大大解释下,说下解决方法。下载SDK就是为了调用一些比较新的函数的时候方便点。不想却出现这事。注意:SetLayeredWindowAttributes只是个测试例子,并不是我的目的。请别说用GetModuleHandle然后GetProcAddress之类的调用函数方法。
要手动将所需的链接库和头文件加到工具里
之后的SDK是不提供支持的。
写出来的代码不符合C++标准,将来复用要麻烦了。
晕,定义个这个就解决了的,早就该想到的擦
SetLayeredWindowAttributes是Windows 2000提供的一个新函数,Win9x/NT 4.0不支持。
系统都不支持,程序就不用说了,怎么调用都不行。