LockWorkStation - 编译错误 - 找不到标识符

时间:2010-03-24 15:59:48

标签: winapi visual-c++ compiler-errors

我正在编写一个应用程序,我必须锁定计算机屏幕(操作系统是Windows)。我的应用程序是用C ++编写的。为此,我使用了在msdn,http://msdn.microsoft.com/en-us/library/aa376875%28VS.85%29.aspx

上定义的LockWorkStation()API

我已经包含了windows.h,但我仍然遇到编译错误:

。\ source.cpp(5):错误C3861:'LockWorkStation':找不到标识符

这是一个给出错误的示例代码。

#include <Windows.h>
int main()
{
    LockWorkStation();
    return 0;
}

请告诉我这里缺少的东西:(

我正在使用MS-Visual studio 2005。

问候。

1 个答案:

答案 0 :(得分:2)

直到Windows 2000才支持该功能。头文件的版本允许您为旧版本的Windows构建。您将要告诉编译器您希望支持哪个最低版本的Windows,如下所示:

#define _WIN32_WINNT 0x0500
#define WINVER 0x0500
...
#include <windows.h>

如果您打开winuser.h,可以看到它被#if(_WIN32_WINNT >= 0x0500) ... #endif包围,这意味着除非您的目标是Windows 2000或更高版本,否则它不可用。

有关版本宏的更多信息,请参阅http://msdn.microsoft.com/en-us/library/aa383745(VS.85).aspx。还有新的NTDDI_VERSION定义,你可以在那里一次设置它们。