c#多显示器修改活动屏分辨率(ChangeDisplaySettingsEx)

通过

//获取活动屏
            Screen ActiveScreen = Screen.FromPoint(new Point(this.Location.X, this.Location.Y));
// 初始化 DEVMODE结构 //不知DEVMODE结构网上有很多
            DEVMODE devmode = new DEVMODE();
            devmode.dmDeviceName = new String(new char[32]);
            devmode.dmFormName = new String(new char[32]);
            devmode.dmSize = (short)Marshal.SizeOf(devmode);
ApiUser32.EnumDisplaySettings(ActiveScreen.DeviceName, ApiUser32.ENUM_CURRENT_SETTINGS, ref devmode))
devmode.dmPelsWidth = size.Width;
devmode.dmPelsHeight = size.Height;

//通过ChangeDisplaySettingsEx修改活动屏分辨率

ChangeDisplaySettingsEx(ActiveScreen.DeviceName, ref devmode,(IntPtr)null, ApiUser32.CDS_UPDATEREGISTRY, IntPtr.Zero);

//ChangeDisplaySettings(ref devmode, ApiUser32.CDS_TEST)只能修改主屏的分辨率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值