读书人

小弟初学

发布时间: 2012-04-12 15:46:35 作者: rapoo

求高手指教,小弟初学!
c语言中怎么实现注册表的修改??????

[解决办法]
要调用Windows API的RegOpenKeyEx(), RegSetValueEx(), RegSetValueEx()等函数。首先要确认你的C编译器支持调用Windows API.
举例:
要自动运行"D:\Myprog\MyProgram.exe", 修改注册表,在
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
中加一项:
RunMyProg="D:\Myprog\MyProgram.exe"

#include <windows.h>

static char subkey[] = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
static char vname[] = "RunMyProg";
static char exefile[] = "D:\\Myprog\\MyProgram.exe";
ULONG dType = REG_SZ, len = 0;
HKEY hKey;
RegOpenKeyEx(HKEY_LOCAL_MACHINE,subkey,0,KEY_SET_VALUE|KEY_QUERY_VALUE,&hKey);//打开。
if (RegQueryValueEx(hKey, vname, 0, &dType, NULL, &len)) { //如果没有RunMyProg,
RegSetValueEx(hKey, vname, 0, REG_SZ, exefile, strlen(exefile)+1); //就加上。
}
RegCloseKey(hKey); //关闭。

读书人网 >C++

热点推荐