1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <Windows.h> #include <tchar.h> #include <stdio.h> #pragma comment (lib, "User32") int _tmain(int argc, _TCHAR* argv[]) { enum tagAR_STATE state; bool blResult = GetAutoRotationState(&state); if(blResult) { if(0 == state) printf("Auto Rotation: ON\n"); else printf("Auto Rotation: OFF\n"); } else printf("Access rotation status ... fail\n"); return 0; } |
需要注意的是這函數是Windows8才加入User32.dll的,因此如果拿這程式在Windows7以前版本執行的話會遇到這樣的錯誤:
如果要避免這樣的錯誤,需要用動態載入dll方式進行呼叫。
在Windows8上執行截圖如下:
附註:tagAR_STATE詳細屬性:
1 2 3 4 5 6 7 8 9 10 11 12 | 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 } |
Keyword:Windows API、System Call
沒有留言:
張貼留言