ScreenRotator — Windows向け画面回転ホットキー小物ツール
概要
ScreenRotatorは、Windowsデスクトップの画面回転(0°, 90°, 180°, 270°)をホットキーで切り替えるための小さなポータブルユーティリティです。Intelのグラフィックス管理ソフトなどでホットキー機能が失われた環境でも、標準のWin32 API(EnumDisplaySettings / ChangeDisplaySettingsEx や RegisterHotKey、Shell_NotifyIcon 等)を用いて回転を行うため、多くのグラフィックス環境で動作することが期待されます。タスクバー常駐かつインストール不要の単一実行ファイルで提供され、最小限の依存で導入できる点が特徴です。
リポジトリの統計情報
- スター数: 1
- フォーク数: 0
- ウォッチャー数: 1
- コミット数: 3
- ファイル数: 11
- メインの言語: C++
主な特徴
- 標準Windows APIを利用した画面回転(GPUベンダー非依存)
- ホットキーによる即時切替(複数の回転角をサポート)
- タスクバー(トレイ)常駐かつポータブル(インストール不要)
- 非常に軽量で単一の実行ファイルとして配布可能
技術的なポイント
このプロジェクトは典型的なWin32ネイティブの実装パターンを踏襲しています。画面回転の処理では、まず EnumDisplaySettings を使って現在のディスプレイ設定を取得し、DEVMODE 構造体の dmDisplayOrientation フィールド(および必要に応じて dmPelsWidth/dmPelsHeight)を変更してから ChangeDisplaySettingsEx を呼び出すことで回転を適用します。回転を適用するときは、向きに応じて幅と高さを入れ替える処理が必要な点や、ドライバによっては追加のフラグや再初期化が要求される可能性がある点に注意が必要です。
ホットキーは RegisterHotKey を使ってグローバルに登録し、メッセージループで WM_HOTKEY を受け取って処理します。トレイアイコン表示とユーザー操作のために Shell_NotifyIcon を利用し、右クリックメニューや終了操作などの基本的なUIを提供する構成が取られていると推測されます。コードは純粋なC++(Win32 API)で書かれているため、外部ライブラリへの依存がなく、32/64ビット環境とも互換性が出しやすい反面、マルチモニタ構成の扱い(どのモニタを回転するか)や、ウィンドウ配置の自動補正といった高レベルの機能は利用者側で注意が必要です。
実装上の注意点としては、ドライバやOSのバージョンによる差異、回転後にアプリケーションウィンドウが期待どおりに再配置されないこと、そして一部の外部ディスプレイやグラフィックススタックで回転がサポートされない場合があることが挙げられます。また、実行時の権限は通常のユーザー権限で十分ですが、特定の企業ポリシーや管理ツールが有効化されている環境では動作が制限されることがあります。ロジック自体は短く明瞭なため、拡張(複数ディスプレイ選択、自動回復、設定ファイルによるホットキーカスタマイズなど)もしやすい構造です。
(上記はリポジトリのREADMEとファイル構成に基づく技術的な読み取り・推測を含みます。実際の実装詳細はソースコードを参照してください。)
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitattributes: file
- .gitignore: file
- LICENSE.txt: file
- README.md: file
- ScreenRotator.ico: file
…他 6 ファイル
主要ファイル(想定)
- 実行ファイルのエントリとなる C++ ソース(WinMain とメッセージループ、WM_HOTKEY 処理)
- DEVMODE 操作を行うモジュール(回転ロジック)
- トレイアイコン/コンテクストメニューを扱う UI ハンドラ
まとめ
シンプルで依存が少ない、ホットキーで画面回転を取り戻すための実用的なツールです。
リポジトリ情報:
- 名前: ScreenRotator
- 説明: A tiny Windows utility to control windows screen orientation with hotkeys.
- スター数: 1
- 言語: C++
- URL: https://github.com/MMhash/ScreenRotator
- オーナー: MMhash
- アバター: https://avatars.githubusercontent.com/u/189778420?v=4
READMEの抜粋:
ScreenRotator
A tiny portable Windows taskbar utility to control your desktop screen orientation with hotkeys.
Newer versions of the Intel® Graphics Command Center no longer support rotating the desktop screen orientation with hotkeys. This program is designed to emulate that feature.
(P.S. It uses the standard Windows API, so it should work with most graphics cards, not just Intel.)