首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

,小弟初学

2012-04-12 
求高手指教,小弟初学!c语言中怎么实现注册表的修改??????[解决办法]要调用Windows API的RegOpenKeyEx(), R

求高手指教,小弟初学!
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); //关闭。

热点排行