มีวิธีใดในการเปลี่ยนความละเอียดหน้าจอ Windows ผ่านทางบรรทัดคำสั่ง?


28

ฉันใช้โปรแกรม Live Mesh ของ Microsoft เพื่อเข้าถึงพีซีที่ใช้ Windows 7 จากระยะไกลโดยรันบนหน้าจอ 2 หน้า: อันหนึ่งมี 1920x1080 และความละเอียด 1920x1200 อื่น ๆ

ฉันกำลังเข้าถึงพวกเขาผ่านแล็ปท็อปเครื่องเก่าที่มีความละเอียด 1024x1078 ผลที่ได้คือไอคอน / คำสั่งเล็ก ๆ ที่ยากที่จะลองและเปลี่ยนความละเอียดหน้าจอจากจอแสดงผลความละเอียดสูง 2 จอเป็นจอแสดงผลความละเอียดต่ำเดี่ยว

มันจะดีมากหากมีบรรทัดคำสั่งในการทำเช่นนี้ หรืออาจจะมีวิธีผ่านตาข่ายสดที่จะทำ ความคิดใด ๆ

คำตอบ:


30

ใช้QResแล้วพูดว่า

QRes.exe /x:800 /y:600

ยูทิลิตี้ขนาดเล็กที่ทำสิ่งที่ฉันต้องการ
Bill Rodman

5
ฉันรวมยูทิลิตี้นี้เข้ากับคำสั่ง Windows7 DisplaySwitch.exe: "C: \ Windows \ System32 \ DisplaySwitch.exe / ภายใน" เพื่อสลับไปยังจอภาพหลักอย่างพิเศษ
Bill Rodman

Displayswitch.exe ยังมีพารามิเตอร์บรรทัดคำสั่งที่ให้คุณสร้างทางลัดที่จะตั้งค่าโหมดการแสดงผลที่เฉพาะเจาะจง / ภายใน / โคลน / ขยาย / ภายนอก
JJS

5
ไม่ทำงานกับ Windows x64
Fantius

รุ่นล่าสุดดูเหมือนว่าจะทำงานได้ดีบน Windows 10 64 บิต - ดูเหมือนจะไม่เป็นวิธีการที่อยู่และตรวจสอบส่วนบุคคลแม้ว่า มันมักจะทำงานกับหน้าจอหลัก - แฮ็คที่คนอื่นโพสต์ (ใช้ DisplaySwitch) ดูเหมือนว่ามันอาจจะทำงานได้ตราบใดที่คุณมีเพียงสองจอภาพ ...
BrainSlugs83

17

NirCmdเครื่องมือฟรีแวร์สามารถทำเช่นนี้
หากต้องการเปลี่ยนการแสดงผลเป็น 1024 x 768 ด้วยความลึกของสี 24 บิต:

nircmd.exe setdisplay 1024 768 24

nircmd ยังมีฟังก์ชั่นอื่น ๆ อีกมากมาย


1
หากคุณใช้แล็ปท็อปเหมือนของฉันที่ไม่สนับสนุนสี 24 บิต คุณอาจต้องเปลี่ยน 24 เป็น 32 - nircmd.exe setdisplay 1024 768 32
Julian

ทำไมมันไม่เปลี่ยนอย่างถาวร? แต่การสมัครชั่วคราว?
YumYumYum

7

ฉันพบตัวอย่างสคริปต์ Windows Powershellจัดทำโดย Microsoft Technet ที่สามารถเปลี่ยนความละเอียดหน้าจอได้

ฉันพบวิธีที่ดีที่สุดในการเรียกใช้มาจากสคริปต์ Powershell แยกต่างหากซึ่งมีลักษณะดังนี้:

## This loads the function (defined in another script)
. C:\[YOUR-PATH]\Set-ScreenResolution

## invoke with width and height
Set-ScreenResolution -Width 1680 -Height 1050

(หมายเหตุฉันบันทึกสคริปต์ Microsoft เป็นSet-ScreenResolution.ps1)

จากบรรทัดคำสั่งหรือเริ่ม -> เรียกใช้คุณสามารถเรียกใช้สคริปต์ Powershell ที่สองซึ่งฉันตั้งชื่อInvoke-Set-ScreenResolution.ps1เช่นนี้ ( -noexitพารามิเตอร์ดีในตอนแรกสำหรับการดีบัก แต่คุณอาจต้องการลบในภายหลังขึ้นอยู่กับว่าคุณต้องการหน้าต่างคำสั่ง ใกล้):

powershell -noexit -ExecutionPolicy Bypass & C:\[your-path]\Invoke-Set-ScreenResolution.ps1

1
สิ่งที่แพทย์สมัครเป็นสมาชิกขอบคุณมาก!
Larphoid

5

ฉันใช้การผสมผสานของQres.exeและSleep.exe (วางไว้ในโฟลเดอร์ Windows ของคุณ) ในไฟล์แบตช์เริ่มต้นเพื่อเปลี่ยนความละเอียดระหว่างผู้ใช้ 2 คน สคริปต์จริงมีดังต่อไปนี้:

@echo off
sleep 2
QRes.exe /x:1280 /y:960

(ในขณะที่สำเนาความละเอียดต่ำคือQres.exe /x:800 /y:600)

----------------------------------------- -------------------------------------------------- ------------------------------------
-------------- -------------------------------------------------- -------------------------------------------------- -------------

ถ้าคุณต้องการให้ไอคอนอยู่ในตำแหน่งที่คุณต้องการ ... อ่านต่อ
คุณจะต้องดาวน์โหลดอีกสองครั้ง:



-> Startup Delayer:
http://www.snapfiles.com/php/download.php?id=103272&a=7130353&tag=7329208&loc=2

-> DesktopOK
http://www.softwareok.com /?Download=DesktopOK&goto=../Download/DesktopOK.zip

ติดตั้ง Startup Delayer และวาง DesktopOK ทุกที่ที่คุณต้องการฉันใช้โฟลเดอร์ 'user' จัดระเบียบเดสก์ท็อปของคุณ

ใน DesktopOK ไปที่ตัวเลือกและทำเครื่องหมาย "คืนค่าโดย Windows Startup" คลิกขวาที่ "ไอคอนเลย์เอาต์" ที่สร้างขึ้นใหม่แล้วคลิก "ใช้สำหรับ: คืนค่าที่ Windows Startup"
ณ จุดนี้คุณจะต้องตรวจสอบ "เริ่ม DesktopOK ด้วย windows" ตัวเลือกทั้งสองในภายหลังจะไม่ถูกตรวจสอบโดยอัตโนมัติโดย Startup Delayer ในภายหลัง

ตอนนี้ค้นหา DesktopOK ใน Startup Delayer และคลิกขวาที่ "Delay"

ขณะนี้มีเพียงสิ่งเดียวที่ต้องทำทำแบตช์ไฟล์เริ่มต้นของคุณ

@echo off
sleep 2
QRes.exe /x:1280 /y:960
sleep 1
"C:\Program Files\r2 Studios\Startup Delayer\Startup Launcher.exe" /LaunchApps=Common


แน่นอนคุณจะต้องวางไว้ในโฟลเดอร์เริ่มต้นของคุณเหตุผลที่กระบวนการมีไอคอนมากมายเนื่องจาก DesktopOK ไม่สามารถจัดการสวิตช์ความละเอียดและต้องการย้ายไอคอนในขณะที่มีการเปลี่ยนแปลงความละเอียดเราจึงต้องการ เพื่อหน่วงเวลาการเริ่มต้นรีจิสทรีและนี่เป็นวิธีเดียวที่ฉันพบ ฉันไม่กล้าเรียกร้องสิ่งนี้เป็นวิธีที่ดีที่สุด แต่ฉันอ้างว่ามันใช้งานได้ฉันไม่พบวิธีอื่นและฉันก็คิดกระบวนการด้วยตัวเอง มันได้รับรอบทุกด้านของสถานการณ์โดยการเปลี่ยนไอคอนที่พวกเขาอยู่ต่อผู้ใช้

ขอบคุณที่ให้ความยืดหยุ่นกับ Microsoft!


4

ลองใช้Display Changer 2ซึ่งสามารถทำได้เช่นเดียวกับเริ่มโปรแกรมและเปลี่ยนความละเอียดกลับไปเมื่อหยุดทำงาน (ซึ่งคุณสามารถทำงานกับ mesh ได้ แต่ YMMV)


2

ไม่มีเครื่องมือที่กล่าวถึงแล้วมีทุกอย่างที่ฉันต้องการดังนั้นฉันจึงคิดวิธีแก้ปัญหาของตัวเอง: ChangeScreenResolution.exe

ตัวอย่าง:

เปลี่ยนความละเอียดหน้าจอของจอภาพทั้งหมดเป็น 800x600px

ChangeScreenResolution.exe /w=800 /h=600

เปลี่ยนความละเอียดหน้าจอของจอภาพทั้งหมดเป็น 800x600px ด้วยอัตราการรีเฟรช 60Hz และความลึกของสี 32 บิต

ChangeScreenResolution.exe /w=800 /h=600 /f=60 /b=32

ตั้งค่าความลึกของสีของหน้าจอด้วยดัชนี 1 ถึง 16 บิต

ChangeScreenResolution.exe /b=16 /d=1 

ภาพรวมอย่างรวดเร็วของตัวเลือก:

Possible options (you can set OR query)
  Setting options
    /w=<width>      Width in pixel       eg 800
    /h=<height>     Height in pixel      eg 600
    /f=<frequency>  display refresh rate eg 60
    /b=<bpp>        bits per pixel       eg 32

  Querying options
    /l              list all connected display devices
    /m              list all available mode settings

  Filtering options
    /d=<device>     devices to modify/query, separated by comma, eg:
                      all (default)
                      0 (monitor with index 0, see option /l)
                      0,2 (monitors with index 0 and 2)
                      \\.\DISPLAY1 (name of display, see option /l)

ฉันยังไม่ได้ทดสอบวิธีแก้ปัญหาของคุณ แต่ +1 สำหรับการสร้างของคุณเอง :)
Thomas

ฉันสิ้นสุดการทดสอบและชอบมันเหนือตัวเลือกอื่น ๆ ด้านบนในแง่ของความเรียบง่าย อย่างไรก็ตามมันใช้งานไม่ได้สำหรับฉัน (ปัญหาอะแดปเตอร์แสดงผลในตอนท้าย) ยังประโยชน์น้อยมาก!
โทมัส

@Thomas ปัญหาคืออะไร หากคุณใช้อุปกรณ์ทั้งหมดจะต้องใช้งานได้กับอุปกรณ์ทั้งหมด คุณควรเห็นผลลัพธ์ถ้าอะแดปเตอร์ล้มเหลว ในกรณีของฉันมันมักจะเป็นเสมือนหนึ่งหรือมากกว่านั้น ฉันสามารถดูว่าฉันสามารถแก้ไขได้หรือไม่
Alexander Taubenkorb

1
ใบอนุญาตสำหรับยูทิลิตี้ของคุณคืออะไร?
Michael Lucas

1
@MichaelLucas ไม่มีสิทธิ์ใช้งานจริง แต่คุณสามารถใช้งานได้ตามที่คุณต้องการ ;-) ขอบคุณที่สอบถาม!
Alexander Taubenkorb

1

ในขณะที่ใครบางคนที่กล่าวถึงแล้ว NirCmd Nirsoft ของเครื่องมือที่ดีที่สุดจาก Nirsoft เพื่อจุดประสงค์นี้เป็นMultiMonitorTool

รองรับหลายจอภาพ, บันทึกการกำหนดค่า, 32 และ 64 บิต, การเปลี่ยนแปลงความละเอียด, การเปิดใช้งานและการวางแนว ฯลฯ


เครื่องมืออื่น ๆ ที่กล่าวถึงไม่ได้ผลสำหรับฉัน แต่อันนี้ใช้ได้ เครื่องมือที่ยอดเยี่ยมสำหรับการเปลี่ยนความละเอียดของหน้าจอในพริบตา
Moshe Rubin

0

สมควรที่จะต้องทราบวิธีการแก้ปัญหาผ่านในตัวwmicคำสั่งของW indows M anagement ฉัน nstrumentation

wmic desktopmonitor create screenheight=1024, screenwidth=768

แม้ว่าอาจส่งผลให้:

ERROR:
Description = Provider is not capable of the attempted operation

ใน "ผู้ให้บริการ" บางคน


2
ไม่สำเร็จ. พยายามกับผู้ดูแลระบบหรือไม่เหมือนกัน
YumYumYum
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.