3

Windows8 で Regetry または ACPI によって画面の自動回転のステータス (無効または有効) を取得するにはどうすればよいですか?

画面の自動回転を無効にする必要があり、winkey + O を使用して画面の自動回転コントロールを変更します。

似たような経験をした人はいますか?

4

5 に答える 5

1

この MSDNSetDisplayAutoRotationPreferencesの例は、User32.dll (例のように kernel.dll ではない) にあり、WinUser.h で定義されている「公式」API 呼び出しのように見えるものを使用して、ジョブを実行しているように見えます。

他の提案に対するこの例の利点は、最初に自動回転がサポートされ、有効になっているかどうかを最初に確認することです。

于 2014-11-04T12:06:13.950 に答える
1

私は答えを見つけました。

        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);

それが他の人々を助けることができることを願っています。

于 2012-06-18T03:08:21.867 に答える
1

レジストリと Windows+O ホットキーはシステム レベルで機能し、ユーザー設定を微調整します。アプリケーションがそれを台無しにすることは想定されていません。アプリケーション レベルで自動回転設定を設定する方法があり、ユーザーがアプリを閉じるか別のアプリに切り替えると、既存の設定 (または他のアプリの設定) が引き継がれます。

MSDN には、関連する API を使用する良い例があります: https://code.msdn.microsoft.com/windowsapps/Auto-Rotation-Preferences-87ae2902

アプリの自動回転設定が 1 つしかない場合は、その設定をマニフェストに設定するのが最も簡単です。ランドスケープとランドスケープの反転の両方をサポートするなど、API では得られないオプションがいくつかあります。

于 2015-09-25T16:12:46.627 に答える