最近不知道怎么了开机分辨率一直是1024*768,调了也没有用
利用bat和ps1脚本解决了
一个调整分辨率的.ps1脚本,如下
Add-Type -TypeDefinition @"
using System;
using System.Runtime.InteropServices;
public class DisplaySettings {
[DllImport("user32.dll")]
public static extern int EnumDisplaySettings(string deviceName, int modeNum, ref DEVMODE devMode);
[DllImport("user32.dll")]
public static extern int ChangeDisplaySettings(ref DEVMODE devMode, int flags);
}
public struct DEVMODE {
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public string dmDeviceName;
public Int16 dmSpecVersion;
public Int16 dmDriverVersion;
public Int16 dmSize;
public Int16 dmDriverExtra;
public Int32 dmFields;
public Int16 dmOrientation;
public Int16 dmPaperSize;
public Int16 dmPaperLength;
public Int16 dmPaperWidth;
public Int16 dmScale;
public Int16 dmCopies;
public Int16 dmDefaultSource;
public Int16 dmPrintQuality;
public Int16 dmColor;
public Int16 dmDuplex;
public Int16 dmYResolution;
public Int16 dmTTOption;
public Int16 dmCollate;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public string dmFormName;
public Int16 dmLogPixels;
public Int32 dmBitsPerPel;
public Int32 dmPelsWidth;
public Int32 dmPelsHeight;
public Int32 dmDisplayFlags;
public Int32 dmDisplayFrequency;
}
"@
# 定义常量
$DM_PELSWIDTH = 0x80000
$DM_PELSHEIGHT = 0x100000
$DM_BITSPERPEL = 0x40000
$DM_DISPLAYFREQUENCY = 0x400000
# 设置新的分辨率
$devMode = New-Object DEVMODE
$devMode.dmSize = [System.Runtime.InteropServices.Marshal]::SizeOf($devMode)
$devMode.dmPelsWidth = 1920
$devMode.dmPelsHeight = 1080
$devMode.dmFields = $DM_PELSWIDTH -bor $DM_PELSHEIGHT
# 应用新的分辨
[DisplaySettings]::ChangeDisplaySettings([ref]$devMode, 0)
保存为112.ps1,由于是Powershell脚本, 在Windows系统中,默认情况下是不允许执行.ps1文件的,每次都要手动执行一下
所以,我们用一个bat脚本来运行这个ps1脚本
例:
@echo off
start powershell C:\112.ps1
保存为bat脚本,注意文件名
win+r运行打开shell:startup
将bat脚本放入,重启查看问题是否解决
欢迎提出意见