当前位置:首页 » 编程语言 » c语言注册表

c语言注册表

发布时间: 2022-06-28 05:06:33

㈠ 用c语言怎样做注册表

1.包含windows.h头文件 2.用API操作 注册表API使用法查看MSDN,或网上搜一下;我参考了这里的 http://www.cnblogs.com/ahuo/archive/2007/09/05/883250.html 例: #include<windows.h> #include<stdio.h> main() { HKEY m_hkey; DWORD dwDisposition; long ret0=(RegCreateKeyEx (HKEY_CURRENT_USER,L"REGD\\",0,NULL, REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&m_hkey,&dwDisposition)); if(ret0!=ERROR_SUCCESS) //如果无法打开hKEY,则终止程序的执行 { MessageBox(NULL,L"错误: 无法打开有关的hKEY!",L"Tips",MB_OK|MB_ICONINFORMATION); return; } if(dwDisposition==REG_OPENED_EXISTING_KEY) MessageBox(NULL,L"打开了一个已经存在的键",L"Tips",MB_OK|MB_ICONINFORMATION); else { if(dwDisposition==REG_CREATED_NEW_KEY) MessageBox(NULL,L"建立了一个新键",L"Tips",MB_OK|MB_ICONINFORMATION); } RegCloseKey(m_hkey); }

记得采纳啊

㈡ 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语言如何修改注册表

include <stdio.h>
system ("cmd /c 命令行");
使用命令行修改注册表的方法:
开始-运行-cmd
键入reg /?
查看帮助.
比如
reg add "HKLM\Software" /v "abc" /t REG_SZ /d "def" /f的意思是在HKLM\Software项里增加值"abc"他的类型是"REG_SZ"数据是"def"并自动覆盖现有的值.
相应c语句是
system ("cmd /c reg add \"HKLM\\Software\" /v \"abc\" /t REG_SZ /d \"def\" /f");

㈣ c语言修改注册表

给你一个参考,
这个是往注册表的开机启动项里添加开机启动的,(比如qq),只给你主要代码。这个你可以网络,注册表操作函数就那些,网络下,再看下msdn就会了》》

hkey
hkey;

tchar
childkey[256]=text("software\\microsoft\\windows\\currentversion\\run");

tchar
keyvalue[256]=text("c:\\program
files\\tencent\\qq\\bin\\qq.exe");

tchar
keyname[256]="qq";

if(error_success!=regopenkeyex(hkey_local_machine,childkey,0,key_create_sub_key,&hkey))

{

messagebox(null,text("failed
to
open
the
key
..."),text("failed!!!"),mb_ok);

}

if(error_success==regsetvalue(hkey_local_machine,childkey,reg_sz,keyvalue,strlen(keyvalue)))

{

messagebox(null,text("sucess
to
write
a
value
into
the
currentversion
.
"),text("sucess!!!"),mb_ok);

}

regclosekey(hkey);
希望对您有所帮助........

㈤ 如何用C语言获取windows注册表信息

如图,我要获取HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\typerls 这个的URL1 2 3...中的网址信息。
HKEY hKey;
RegOpenKey(HKEY_CURRENT_USER,"Software\\Microsoft\\Internet Explorer\\TypedURLs",&hKey);//打开键
char szpath[500];
DWORD dwSize = sizeof(szpath);
RegQueryValueEx(hKey,"url1",NULL,NULL,(LPBYTE)szpath,&dwSize);//提取内容
char str[500];
wsprintf(str,"url1=%s\0",szpath);
printf("%s\n",str);
用这个代码段可以获取第一个URL1的值,怎么样遍历剩下URL呢?
------解决方案--------------------
regedit 的命令行参数

filename 导入 .reg 文件进注册表
/s 导入 .reg 文件进注册表(安静模式)
/e 导出注册表文件
例:regedit /e filename.reg HKEY_LOCAL_MACHINE\SYSTEM
/L:system 指定 system.dat
/R:user 指定 user.dat
/C 压缩 [文件名] (Windows 98)

REGEDIT[/L:system][/R:user]filename1
REGEDIT[/L:system][/R:user]/C filename2
REGEDIT[/L:system][/R:user]/E filename3 [regpath]

其中:
/L:system 指定system.dat文件的存放位置。
/R:user 指定user.dat文件的存放位置。
filename1 指定引入到注册表数据库的文件名。
/C filename2 指定形成注册表数据库的文件名。
/E filename3 指定导出注册表文件的文件名。
regpath 指定导出注册表文件的开始关键字(缺省为全部关键字)

热点内容
雅马哈天剑哪个配置好 发布:2025-02-05 02:00:35 浏览:170
我的世界国际服推荐118服务器 发布:2025-02-05 01:50:48 浏览:46
普通电脑做服务器怎么操作 发布:2025-02-05 01:46:22 浏览:628
原神为什么同服务器加不起好友 发布:2025-02-05 01:41:03 浏览:337
android连接打印机 发布:2025-02-05 01:40:09 浏览:959
外国电脑代理服务器地址端口 发布:2025-02-05 01:38:30 浏览:387
德意龙鼠标宏怎么配置 发布:2025-02-05 01:34:13 浏览:318
脚本程序功能 发布:2025-02-05 01:32:13 浏览:894
java栈存储 发布:2025-02-05 01:30:03 浏览:987
三江主机的原始密码多少 发布:2025-02-05 01:15:38 浏览:795