Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么缺少/未声明MonitorFromWindow?(C++/WINAPI)_C++_Winapi_Scope - Fatal编程技术网

为什么缺少/未声明MonitorFromWindow?(C++/WINAPI)

为什么缺少/未声明MonitorFromWindow?(C++/WINAPI),c++,winapi,scope,C++,Winapi,Scope,我正在试用Windows API,遇到了很多问题。最近的一个例子是:我包括了Windows.h和Winuser.h,但是缺少MonitorFromWindow和相关字段,如MONITOR\u DEFAULTTONEAREST。具体来说, ...'MONITOR_DEFAULTTONEAREST' was not declared in this scope 及 其他方法显示得很好,比如LoadImage和CreateWindow。有什么我遗漏的吗?我认为这不是我调用方法的方式,甚至不是我包含头

我正在试用Windows API,遇到了很多问题。最近的一个例子是:我包括了Windows.h和Winuser.h,但是缺少MonitorFromWindow和相关字段,如MONITOR\u DEFAULTTONEAREST。具体来说,

...'MONITOR_DEFAULTTONEAREST' was not declared in this scope

其他方法显示得很好,比如LoadImage和CreateWindow。有什么我遗漏的吗?我认为这不是我调用方法的方式,甚至不是我包含头文件的方式,但是如果你问,我仍然可以发布我的代码。没有太多

编辑:当我检查范围中定义的内容时,最近的方法是ModifyWorldTransform。。。用…来监视公共前缀。。。;除MONITOR_ENUMPROC外,最近的字段均以MONITOR_INFO开头。没有监视器\u DEFAULTTONEAREST/NULL/etc

编辑2:

#define UNICODE
#define _WIN32_WINNT 0x0500
#include <iostream>
#include <process.h>
#include <windows.h>
#include <winuser.h>

我怀疑您需要将WINVER设置为0x500或更高。

如有必要


我怀疑您需要将WINVER设置为0x500或更高。

您使用的编译器/版本是什么?你能提供一个简短完整的例子吗?从Windows 2000开始,你必须将_WIN32_WINNT设置为至少0x500。我想我肯定知道,但我使用的是Eclipse,它在不同的地方列出了几个编译器。那么,MinGW或GCC C++。你使用的是什么编译器/版本?你能提供一个简短完整的例子吗?从Windows 2000开始,你必须将_WIN32_WINNT设置为至少0x500。我想我肯定知道,但我使用的是Eclipse,它在不同的地方列出了几个编译器。所以,MinGW或者GCC C++。这是它所说的,就像CreateWindowThat对他们说的那样,就像CreateWindowI可能没有正确地做过那样,但是我使用了和你+加利福尼亚.h一样的定义和包含,它仍然看起来不起作用。我应该使用不同的编译器吗?编辑:Eclipse仍然标记调用,但是编译器很高兴。一旦我弄清楚一切是否正常,我会回来的。我可能做得不正确,但我使用了与您相同的定义和包含项-加上winuser.h-但它似乎仍然不起作用。我应该使用不同的编译器吗?编辑:Eclipse仍然标记调用,但是编译器很高兴。一旦我弄清楚一切是否正常,我会回来的。
#define UNICODE
#define _WIN32_WINNT 0x0500
#include <iostream>
#include <process.h>
#include <windows.h>
#include <winuser.h>
HMONITOR monitor = NULL;
HWND CreateFullScreenWindow(HWND hwnd){
    if(monitor==NULL){
        monitor = MonitorFromWindow(hwnd, MONITOR_DEFAULTTONEAREST);
    }
    return hwnd;
}
#define UNICODE
#define _WIN32_WINNT 0x0500     // Windows 2000
#include <windows.h>

auto main() -> int
{
    (void) MonitorFromWindow;
}
#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
WINUSERAPI HMONITOR WINAPI MonitorFromPoint(POINT,DWORD);
WINUSERAPI HMONITOR WINAPI MonitorFromRect(LPCRECT,DWORD);
WINUSERAPI HMONITOR WINAPI MonitorFromWindow(HWND,DWORD);
#endif
Minimum supported client
   Windows 2000 Professional [desktop apps only]