基于MFC C++设置进程运行显示器

最近遇到项目,需要在单台电脑上运行两次同一个.exe文件(基于对话框),但两个进程需要在不同的屏幕上显示。在网上查找了一些资料,要么付费,要么代码中有一定问题。综合各个资料后,整理出可以直接使用的代码。既是为了做笔记,也是将经验分享给大家。

实现该功能的API为 EnumDisplayDevices()和EnumDisplaySettings()。对于这两个函数中的各个参数,网上已经有很详细的解释,在这里不在赘述,直接上代码。

//使用到的头文件和使用命名空间
#include <iostream> 
#include <vector>
#include <Windows.h>
#include <stdio.h>
#include <stdlib.h>
#pragma comment(lib,"Winmm.lib")

using namespace std;


//在类的.h文件中,定义成员变量

vector<DISPLAY_DEVICE> m_vDisplayDevice;
vector<DEVMODE> m_vDevmode;
int m_nDisplayScreen;//要显示的显示器序号
//.cpp文件,可以直接写在InitDialog()函数中,也可以编写成函数,在进程初始化时调用。
m_vDisplayDevice.clear();
m_vDevmode.clear();

int devId = 0;
bool ret = false;
bool isPrimary = false;

//list all DisplayDevices (Monitors)
do
{
   
	D
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值