小编use*_*975的帖子

Windows API MONITORINFO结构

我试图从Windows API获取监视器数据.该GetSystemMetrics()命令以像素为单位返回错误的宽度.根据微软的网站,这是因为我需要SetProcessDPIAware()

这意味着我最好能够创建一个我不理解的应用程序清单.

在寻找同样低级别的替代方案时,我发现多显示器监视功能和结构.我必须通过HMONITOR访问我想要的rect结构,但得到的HMONITOR是我遇到问题的地方.

MonitorFromWindow(hwnd,MONITOR_DEFAULTTOPRIMARY) 这个命令超出范围 - 奇怪,因为GetMonitorInfo()[我需要HMONITOR]不会导致任何问题.我已经拥有windows.hwindowsx.h包括在内.我错过了一个图书馆或者问题是什么?

在另一个注意事项上,看了之后很明显,将显示器用于用户可调节也可能很好. SM_CMONITORS应该返回一个计数,但我想知道如何将这些数字转换为HMONITOR我需要获取监视器特定信息的数据.

::编辑::

我在这里进行编辑,因为"评论"功能没有为我提供足够的空间来放置所请求的代码片段

另外,我正在使用GNU GCC和MinGW

#include <iostream>//using these libraries
#include <Windowsx.h>
#include <windows.h>

using namespace std;

int main()
{
    //should print screen width in pixels

    LPMONITORINFO target;
        //create a monitor info struct to store the data to
    HMONITOR Hmon = MonitorFromWindow(hwnd,MONITOR_DEFAULTTOPRIMARY);
        //create a handle to the main monitor
        //(should …
Run Code Online (Sandbox Code Playgroud)

c++ winapi

4
推荐指数
1
解决办法
5830
查看次数

标签 统计

c++ ×1

winapi ×1