找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 147|回复: 10

[求助] 求wcs代码(调整屏幕分辨率)。谢谢

[复制链接]
发表于 昨天 20:48 | 显示全部楼层 |阅读模式
本帖最后由 yyz2191958 于 2026-3-17 21:53 编辑

求wcs代码(调整屏幕分辨率)。谢谢

=======================

调整为:1440 900 32

======================
bat代码我已经有了,现在希望得到的是:.wcs  代码

发表于 昨天 21:12 | 显示全部楼层
  1. echo off
  2. cls
  3. echo 调整屏幕分辨率
  4. echo =======================
  5. echo 1: 1024x768 (32位)
  6. echo 2: 1440x900 (32位)
  7. echo =======================
  8. set /p choice=请选择分辨率(1 或 2):

  9. if %choice%==1 (
  10.     nircmd setdisplay 1024 768 32
  11.     echo 正在设置为 1024x768 (32位)
  12. )

  13. if %choice%==2 (
  14.     nircmd setdisplay 1440 900 32
  15.     echo 正在设置为 1440x900 (32位)
  16. )

  17. pause
复制代码


点评

bat代码我已经有了,现在希望得到的是:.wcs 代码  详情 回复 发表于 昨天 21:25
我试一试先 谢谢  发表于 昨天 21:21

评分

参与人数 1无忧币 +5 收起 理由
yyz2191958 + 5

查看全部评分

回复

使用道具 举报

 楼主| 发表于 昨天 21:25 | 显示全部楼层

bat代码我已经有了,现在希望得到的是:.wcs  代码
回复

使用道具 举报

发表于 昨天 21:33 | 显示全部楼层
  1. using System;
  2. using System.Runtime.InteropServices;

  3. class Program
  4. {
  5.     [DllImport("user32.dll")]
  6.     static extern bool ChangeDisplaySettingsEx(string lpszDeviceName, ref DEVMODE lpDevMode, IntPtr hwnd, uint dwflags, IntPtr lParam);

  7.     [StructLayout(LayoutKind.Sequential)]
  8.     struct DEVMODE
  9.     {
  10.         [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
  11.         public string dmDeviceName;
  12.         public short dmSpecVersion;
  13.         public short dmDriverVersion;
  14.         public short dmSize;
  15.         public short dmDriverExtra;
  16.         public int dmFields;

  17.         public int dmPositionX;
  18.         public int dmPositionY;
  19.         public int dmDisplayOrientation;
  20.         public int dmDisplayFixedOutput;

  21.         public short dmColorBits;
  22.         public short dmCopies;
  23.         public short dmDefaultSource;
  24.         public short dmPrintQuality;

  25.         public int dmDisplayFlags;
  26.         public int dmDisplayFrequency;
  27.         public int dmICMMethod;
  28.         public int dmICMIntent;
  29.         public int dmMediaType;
  30.         public int dmDitherType;
  31.         public int dmReserved1;
  32.         public int dmReserved2;

  33.         public int dmPanningWidth;
  34.         public int dmPanningHeight;
  35.     }

  36.     const int CDS_UPDATEREGISTRY = 0x01;
  37.     const int CDS_TEST = 0x04;
  38.     const int DISP_CHANGE_SUCCESSFUL = 0;

  39.     static void Main(string[] args)
  40.     {
  41.         DEVMODE devMode = new DEVMODE();
  42.         devMode.dmDeviceName = new String(' ', 32);
  43.         devMode.dmSpecVersion = 0x0300;
  44.         devMode.dmSize = (short)Marshal.SizeOf(devMode);
  45.         devMode.dmPanningWidth = devMode.dmPositionX = devMode.dmDisplayFrequency = 0;
  46.         devMode.dmPanningHeight = devMode.dmPositionY = 0;
  47.         devMode.dmFields = 0x00080000 | 0x00100000; // DM_PELSWIDTH | DM_PELSHEIGHT

  48.         devMode.dmPanningWidth = devMode.dmPositionX = 1440; // 分辨率宽度
  49.         devMode.dmPanningHeight = devMode.dmPositionY = 900;  // 分辨率高度

  50.         int result = ChangeDisplaySettingsEx(null, ref devMode, IntPtr.Zero, CDS_TEST, IntPtr.Zero);

  51.         if (result == DISP_CHANGE_SUCCESSFUL)
  52.         {
  53.             result = ChangeDisplaySettingsEx(null, ref devMode, IntPtr.Zero, CDS_UPDATEREGISTRY, IntPtr.Zero);
  54.         }

  55.         Console.WriteLine("分辨率已尝试设置为 1440x900");
  56.     }
  57. }
复制代码


点评

一个分辨率用这么多代码?结合WinXshell,一行代码就可以了。(INI,用Pecmd运行) EXEC %ProgramFiles%\WinXShell\WinXShell.exe -luacode app:call('Screen::Set','resolution',1440,900) 懂WCS的转换一下,应该更  详情 回复 发表于 昨天 21:54
这是什么代码?  发表于 昨天 21:42
这是什么代码? 我保存为:分辨率.wcs 运行无反应  详情 回复 发表于 昨天 21:41

评分

参与人数 1无忧币 +5 收起 理由
yyz2191958 + 5

查看全部评分

回复

使用道具 举报

 楼主| 发表于 昨天 21:41 | 显示全部楼层

这是什么代码?

我保存为:分辨率.wcs   运行无反应

点评

a66
C++  详情 回复 发表于 昨天 21:58
回复

使用道具 举报

发表于 昨天 21:54 | 显示全部楼层
本帖最后由 xmzhqw 于 2026-3-17 22:01 编辑

一个分辨率用这么多代码?结合WinXshell,一行代码就可以了。(INI,用Pecmd运行)
EXEC %ProgramFiles%\WinXShell\WinXShell.exe -luacode app:call('Screen::Set','resolution',1440,900)
懂WCS的转换一下,应该更简单。现在几乎没有PE不用WinXshell的。

我试了一下,WCS 和 INI 好像没差别,直接用上面代码即可。INI还要通过PECMD右键运行,WCS双击直接运行。
回复

使用道具 举报

发表于 昨天 21:58 | 显示全部楼层
yyz2191958 发表于 2026-3-17 21:41
这是什么代码?

我保存为:分辨率.wcs   运行无反应

C++
回复

使用道具 举报

发表于 昨天 22:00 | 显示全部楼层
DISP W1440 H900 B32
回复

使用道具 举报

发表于 昨天 22:29 | 显示全部楼层
一个分辨率用这么多代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1|闽公网安备35020302032614号 )

GMT+8, 2026-3-18 04:17

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表