win7 x64注册表操作的问题
蒙飞鸿 2015-03-06 11:19:24 如下代码,调用函数返回值都是OK的,但是注册表没变:
#include <windows.h>
#include <stdio.h>
#define STR_REGUAC_PATH "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System"
void CloseUAC()
{
HKEY RegKey;
RegKey=NULL;
LONG lRet;
REGSAM flag = 0x100 ;
lRet =RegOpenKeyEx(HKEY_LOCAL_MACHINE,STR_REGUAC_PATH,0,KEY_ALL_ACCESS|flag,®Key);
if (lRet)
{
printf("open key failed %d\n",lRet);
}
DWORD dwNum = 0;
RegSetValueEx(RegKey, "ConsentPromptBehaviorAdmin", 0, REG_DWORD, (LPBYTE)&dwNum, sizeof(dwNum));
if (lRet)
{
printf("ConsentPromptBehaviorAdmin failed\n");
}
RegSetValueEx(RegKey, "EnableLUA", 0, REG_DWORD, (LPBYTE)&dwNum, sizeof(dwNum));
if (lRet)
{
printf("EnableLUA failed\n");
}
RegSetValueEx(RegKey, "PromptOnSecureDesktop", 0, REG_DWORD, (LPBYTE)&dwNum, sizeof(dwNum));
if (lRet)
{
printf("PromptOnSecureDesktop failed\n");
}
RegSetValueEx(RegKey, "mhf", 0, REG_DWORD, (LPBYTE)&dwNum, sizeof(dwNum));
if (lRet)
{
printf("PromptOnSecureDesktop failed\n");
}
RegCloseKey( RegKey);
system("pause");
}
void main()
{
CloseUAC();
}