文章关键字 ‘PSDK’

VC6中使用高版本API的方法

2010年10月10日,星期日

今天用VC6重新编译一个以前写过的程序。程序中使用了API函数SetWindowsHookEx,某段代码如下

SetWindowsHookEx(WH_KEYBOARD_LL,KeyHookProc,hInstance,0);

Visual Studio 2008太大了我没有安装,只安装了Visual C++ 6.0和Microsoft Platform SDK February 2003。这个程序以前用VC9(即VC2008)编译没有任何问题,但是今天用VC6编译的时候竟然报错:

error C2065: 'WH_KEYBOARD_LL' : undeclared identifier

MSDN文档上说WH_KEYBOARD_LL要求系统必须至少为Windows NT/2000/XP,我的系统是Windows 2008 R2,怎么还会报错说未定义呢?百思不得其解。

文档说WH_KEYBOARD_LL Declared in Winuser.h,好吧,我就打开Winuser.h看了一下,终于找到了原因:

#if (_WIN32_WINNT >= 0x0400)
#define WH_KEYBOARD_LL     13
#define WH_MOUSE_LL        14
#endif // (_WIN32_WINNT >= 0x0400)

罪魁祸首就是这个_WIN32_WINNT,只有当它大于0x0400的时候才定义WH_KEYBOARD_LL。

(更多…)

在Windows 2008 R2下安装PSDK

2010年10月9日,星期六

我的硬盘只有可怜的160G,Visual Studio 2008太大了不想安装,所以只装了Visual C++ 6.0。但是Visual C++ 6.0是98年的产品了,之后的头文件和库都没有,用Visual C++ 6.0不安装Microsoft Platform SDK February 2003那简直就是一种折磨。

但是在直接Windows 2008 R2双击PSDK中的Setup64.Exe竟然报错,无奈只好放弃。

setup64

今天无意中发现双击Setup目录下的PSDK-x86.msi竟然可以安装,大喜,作文以记之。

PSDK_x86