VC 操作注册表

时间:2021-11-07 05:54:40

操作注册表的一般步骤如下:
1、调用RegOpenKeyEx()或RegCreateKeyEx()来打开或新建一个键。即注册表左边显示的文件夹。
如:RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\驱动1", 0, KEY_ALL_ACCESS, &hKey),其成功返回ERROR_SUCCESS,错误为对应的数字
2、再调用RegQueryValueEx()读子键的值,或调用RegSetValueEx()设置子键的值,或调用RegDeleteValue删除指定的项。
如:RegQueryValueEx(hKey, "UninstallString", NULL, &dwType, (unsigned char *)(LPSTR)lpstrReturn, &dwLength) ;


       DWORD dwRet = GetModuleFileName(NULL, pFileName, MAX_PATH); //添加一个子Key,并设置值 // 下面的第二项是应用程序名字(不加后缀.exe)
       lRet = RegSetValueEx(hKey, "Scheduler", 0, REG_SZ, (BYTE *)pFileName, dwRet);

 

        RegDeleteValue(hKey,"Scheduler");  //hKey为打开的键,第二个参数为要删除的项名。

3、调用RegCloseKey()关闭键。
LPSTR lpstrReturn = (LPSTR)new char[255];
HKEY hKey = 0 ;
DWORD dLen = 256;
DWORD dwType = REG_SZ;
RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\驱动1",0,KEY_ALL_ACCESS,&hKey);
RegQueryValue(hKey,"UninstallString",NULL,&dwType,(unsigned char *)(LPSTR)lpstrReturn,&dwLen);
RegCloseKey(hKey);
delete []lpstrReturn;