내 제어판 편집 레지스트리 값에서 Device Manager을 비활성화하고 싶습니다. C#에서 할 수 있지만 .NET Framework를 사용하지 않고 C++에서 수행하려고합니다. C++에서 프로세서 이름을 변경하려고 succided했습니다. 하지만 작업 관리자를 사용하지 않으려는 경우 문제가 발생합니다. 여기 내 코드가있다.C++ 프로그램을 사용하여 장치 관리자를 비활성화 할 수 없음
HKEY hKey;
RegOpenKeyEx(HKEY_LOCAL_MACHINE,
"HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0",
0,
KEY_SET_VALUE,
&hKey);
RegSetValueEx(hKey, REGNAME_TO_WRITE, 0, REG_SZ,
(const unsigned char *)"ProcessorNameString",
strlen("ProcessorNameString"));
//RegCloseKey(hKey);
// The problem begins here
RegOpenKeyEx(HKEY_LOCAL_MACHINE,
"Software\\Policies\\Microsoft\MMC\\{74246bfc-4c96-11d0-abef-0020af6b0b7a}\\",
0,
KEY_SET_VALUE,
&hKey);
RegSetValueEx(hKey,"Restrict_Run",0,REG_SZ,
(const unsigned char *)"1",
strlen("1"));
RegCloseKey(hKey);
return 0;
}
어떤 버전의 Windows입니까? 어떤 프로세서 아키텍처입니까? 아마도 32 비트 코드를 실행하고 레지스트리의 32 비트보기 (WOW64 리디렉션)를 변경하지만 Windows는 64 비트 레지스트리를 찾고있을 것입니다. –
Windows 7 Professional Edition 32 비트를 사용하고 있습니다. –