关于windows编程的问题,请看过《windows核心编程指南》的请各位高手解答??
我下载了windows核心编程指南那本书的代码,仔细的研读了前几章教材,现在想分析教材所附带的源代码,但是现在遇到了这样几个问题:
按照教材的附录A,我设置好了VC的各种编译环境,尤其是作者说的几个问题,我都做了仔细的设置。但还是不能通过编译,主要的问题好像是处在windows对新版本函数的支持,系统提示是:
You are not using the latest Platform SDK header/library
files. This may prevent the project from building correctly.
........后面还有好多的错误的。还有好多的未定义的变量,
CmnHdr.h是个公共的头文件的。作者定义了好多很好用的宏。。。但是
在CmnHdr.h 这个头文件中有几个地有说明的:
#define _WIN32_WINNT 0x0500
定义系统支持最新的win2k函数。
//#define WINVER 0x0500
#ifndef WT_EXECUTEINPERSISTENTIOTHREAD
#pragma message("You are not using the latest Platform SDK header/library ")
#pragma message("files. This may prevent the project from building correctly.")
#endif
问题就出在这个地方了。上面的那个#ifndef WT_EXECUTEINPERSISTENTIOTHREAD
是个什么东西,就是搞不懂呀,在VC的那个地方要定义这个宏呢,是个什么含义呢,还有在CmnHdr.h
中有好几个函数都找不到的在msdn中如:
inline void chSETDLGICONS(HWND hwnd, int idi) {
SendMessage(hwnd, WM_SETICON, TRUE, (LPARAM)
LoadIcon((HINSTANCE) GetWindowLongPtr(hwnd, GWLP_HINSTANCE),
MAKEINTRESOURCE(idi)));
SendMessage(hwnd, WM_SETICON, FALSE, (LPARAM)
LoadIcon((HINSTANCE) GetWindowLongPtr(hwnd, GWLP_HINSTANCE),
MAKEINTRESOURCE(idi)));
}
中的GetWindowLongPtr函数是个什么函数,怎么没有呢。编译器多次提示有错误的在那里。
请教高手怎么才能顺利的通过编译呢。谢谢,解决马上就结分