Windows8 で Regetry または ACPI によって画面の自動回転のステータス (無効または有効) を取得するにはどうすればよいですか?
画面の自動回転を無効にする必要があり、winkey + O を使用して画面の自動回転コントロールを変更します。
似たような経験をした人はいますか?
Windows8 で Regetry または ACPI によって画面の自動回転のステータス (無効または有効) を取得するにはどうすればよいですか?
画面の自動回転を無効にする必要があり、winkey + O を使用して画面の自動回転コントロールを変更します。
似たような経験をした人はいますか?
この MSDNSetDisplayAutoRotationPreferences
の例は、User32.dll (例のように kernel.dll ではない) にあり、WinUser.h で定義されている「公式」API 呼び出しのように見えるものを使用して、ジョブを実行しているように見えます。
他の提案に対するこの例の利点は、最初に自動回転がサポートされ、有効になっているかどうかを最初に確認することです。
私は答えを見つけました。
public enum tagAR_STATE : uint
{
AR_ENABLED = 0x0,
AR_DISABLED = 0x1,
AR_SUPPRESSED = 0x2,
AR_REMOTESESSION = 0x4,
AR_MULTIMON = 0x8,
AR_NOSENSOR = 0x10,
AR_NOT_SUPPORTED = 0x20,
AR_DOCKED = 0x40,
AR_LAPTOP = 0x80
}
[DllImport("user32.dll")]
public static extern bool GetAutoRotationState(ref tagAR_STATE input);
それが他の人々を助けることができることを願っています。
レジストリと Windows+O ホットキーはシステム レベルで機能し、ユーザー設定を微調整します。アプリケーションがそれを台無しにすることは想定されていません。アプリケーション レベルで自動回転設定を設定する方法があり、ユーザーがアプリを閉じるか別のアプリに切り替えると、既存の設定 (または他のアプリの設定) が引き継がれます。
MSDN には、関連する API を使用する良い例があります: https://code.msdn.microsoft.com/windowsapps/Auto-Rotation-Preferences-87ae2902
アプリの自動回転設定が 1 つしかない場合は、その設定をマニフェストに設定するのが最も簡単です。ランドスケープとランドスケープの反転の両方をサポートするなど、API では得られないオプションがいくつかあります。