コマンドライン経由でWindows画面解像度を変更する方法はありますか?


28

MicrosoftのLive Meshプログラムを使用して、Windows 7を実行しているPCにリモートでアクセスします。2つの画面で実行しています。1つは1920x1080で、もう1つは1920x1200の解像度です。

私は1024x1078の解像度の古いラップトップを介してそれらにアクセスしています。その結果、非常に小さなアイコン/コマンドになり、画面解像度を2つの高解像度ディスプレイから単一の低解像度ディスプレイに変更することは困難です。

これを行うためのコマンドラインの方法があれば素晴らしいでしょう。または、ライブメッシュを介してそれを行う方法があるかもしれません。何か案は?

回答:


30

QResを使用してから、

QRes.exe /x:800 /y:600

まさに私が必要とすることをする小さなユーティリティ。
ビルロッドマン

5
このユーティリティをWindows7 DisplaySwitch.exeコマンド「C:\ Windows \ System32 \ DisplaySwitch.exe / internal」と組み合わせて、メインモニターに排他的に切り替えます。
ビル・ロッドマン

Displayswitch.exeには、特定の表示モードを設定するショートカットを作成できるコマンドラインパラメーターもあります。/ internal / clone / extend / external
JJS

5
Windows x64では機能しません。
ファンティウス14年

最新バージョンは、Windows 10 64ビットで正常に動作するようです。-しかし、個々のモニターに対処する方法ではないようです。常に主画面に対してのみ機能します。-他の人が投稿した(DisplaySwitchを使用した)ハックは、モニターが2台しかない限り機能するようです
...-BrainSlugs83

17

nircmdフリーウェアツールは、これを行うことができます。
24ビットの色深度でディスプレイを1024 x 768に変更するには:

nircmd.exe setdisplay 1024 768 24

nircmdには、他にも非常に多くの機能があります。


1
24ビットカラーをサポートしていない私のようなラップトップを使用している場合。24を32に変更する必要があるかもしれません-nircmd.exe setdisplay 1024 768 32
Julian

なぜ永続的に変更されないのですか?しかし、一時的に適用されますか?
-YumYumYum

7

Microsoft Technetが提供する、画面解像度を変更できるWindows Powershellスクリプトサンプルを見つけました。

それを呼び出す最良の方法は、次のような別の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(このよう-noexitparamは、デバッグのために最初は良いですが、あなたはコマンドウィンドウをしたいかに応じて上で、後でそれを削除することもできます閉じる):

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

1
医師が申し込んだもの、本当にありがとう!
ラルフォイド

5

2人のユーザーの間で解像度を変更するために、スタートアップバッチファイルでQres.exeSleep.exeの組み合わせ(これらをWindowsフォルダーに配置)を使用しました。実際のスクリプトは次のとおりです。

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

(一方、低解像度のコピーはQres.exe /x:800 /y:600

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

アイコンを必要な場所に留めたい場合は...をお読みください。
さらに2つのダウンロードが必要になり



ます。-> 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を配置して、「ユーザー」フォルダーを使用しました。デスクトップを整理し、

DesktopOKで[オプション]に移動し、[Windowsスタートアップで復元]にチェックマークを付け、新しく作成した[アイコンレイアウト]を右クリックして、[Windowsスタートアップ時に復元]をクリックします。
この時点で、「WindowsでDesktopOKを起動する」もチェックする必要があります。後の2つのオプションは、後でStartup Delayerによって自動的にオフになります。

次に、Startup DelayerでDesktopOKを見つけ、「遅延」を右クリックします。

あとはあと1つだけです。起動バッチファイルを作成します。

@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が解像度の切り替えを処理できず、解像度の変更中にアイコンを移動したいためです。レジストリの起動を遅らせるために、これが唯一の方法です。私はこれが最善の方法であると主張することはあきらめていませんが、私はそれがうまくいくと主張します。ユーザーごとにアイコンを置き換えることで、状況のあらゆる側面を回避します。

非常に柔軟なマイクロソフトに感謝します!



2

既に述べたツールにはどれも必要なものがすべて揃っていなかったため、独自のソリューションChangeScreenResolution.exeを思いつきました。

例:

すべてのモニターの画面解像度を800x600pxに変更します

ChangeScreenResolution.exe /w=800 /h=600

60Hzのリフレッシュレートと32ビットの色深度で、すべてのモニターの画面解像度を800x600pxに変更する

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を追加しました:)
トーマス

まあ、私はそれをテストすることになり、簡単さの点で上記の他のオプションよりもそれを好む。しかし、それは私にとってはうまくいきませんでした(私の側ではディスプレイアダプターの問題)。それでも、素晴らしい小さなユーティリティ!
トーマス

@トーマスは何が問題でしたか?すべてのデバイスを使用する場合は、すべてのデバイスで機能する必要があります。アダプタに障害が発生すると、出力に表示されるはずです。私の場合、それは常に仮想的なものでした。そのための修正を提供できるかどうかを確認できます。
アレクサンダータウベンコブ

1
ユーティリティのライセンスは何ですか?
マイケルルーカス

1
@MichaelLucas、実際のライセンスはありませんが、好きなように使用できます;-)お問い合わせいただきありがとうございます!
アレクサンダータウベンコブ

1

すでに誰かがNirsoftのnircmdに言及していますが、この目的に最適なNirsoftのツールはMultiMonitorToolです。

マルチモニター、保存された構成、32ビットと64ビット、解像度の変更、アクティブ化と方向などをサポートします。


言及された他のツールは私には機能しませんでしたが、これは機能しました。フラッシュで画面解像度を変更するための優れたツール-投稿してくれてありがとう。
モシェルービン

0

立派な内蔵を通じてソリューションを注意するwmicのコマンドW indows M anagement I nstrumentation

wmic desktopmonitor create screenheight=1024, screenwidth=768

ただし、結果は次のようになります。

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

一部の「プロバイダー」で


2
動作しません。adminを使用して、または使用せずに同じことを試みました。
-YumYumYum
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.