0
我們正試圖確定自動旋轉當前是否在我們的C++應用程序中啓用或禁用。即使同一個鍵的註冊表顯示爲0,以下代碼始終返回值1.如果應用程序以標準用戶或管理員身份運行,它將返回相同值。Windows 8 AutoRotation註冊表值
HKEY hkMain;
LONG lRes = RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\AutoRotation",0,KEY_QUERY_VALUE,&hkMain);
if (lRes==ERROR_SUCCESS) {
DWORD dwRegValue=0,dwSize=0,dwType=0;
dwSize = sizeof(DWORD);
lRes = RegQueryValueEx(hkMain,TEXT("Enable"),NULL,&dwType,(LPBYTE)&dwRegValue,&dwSize);
if (lRes==ERROR_SUCCESS) {
// dwRegValue value is always 1
}
RegCloseKey(hkMain);
}
也許我沒有跟着你,但它看起來像檢查lRes的值,就好像它是從「啓用」註冊表值中的數據? lRes只是操作的狀態碼(例如,試圖讀取值是否成功?)。你的數據應該在dwRegValue中。 – Matthew
不,我們只是檢查lRes成功註冊表函數調用 dwRegValue總是1.我編輯的帖子,使這個更清晰 – PhilC
啊,你的額外評論清除了我。 – Matthew