新网创想网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

c语言修改注册表函数 注册表修改系统语言

c语言如何修改注册表

include stdio.h

创新互联建站-专业网站定制、快速模板网站建设、高性价比闻喜网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式闻喜网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖闻喜地区。费用合理售后完善,十载实体公司更值得信赖。

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语言实现修改注册表

void WriteReg()

{

//test1:在根结点上创建子键

CString strSubKey= "MySubKey";

HKEY hkey1, hkey2;

long lrt, lRtVal;

DWORD dwdisposition= REG_CREATED_NEW_KEY;

if( ERROR_SUCCESS == RegCreateKeyEx( HKEY_CURRENT_USER, strSubKey, 0, NULL, 0, KEY_CREATE_SUB_KEY | KEY_SET_VALUE, NULL, hkey1, dwdisposition ) )

//注:KEY_CREATE_SUB_KEY | KEY_SET_VALUE标志分别用于后面创建子键,后创建键值项, {

//test2:在刚创建的子键(MySubKey)下再创建子键( MySubSubKey)

lrt = RegCreateKeyEx( hkey1, "MySubSubKey", 0, NULL, 0, KEY_CREATE_SUB_KEY | KEY_SET_VALUE, NULL, hkey2, dwdisposition );

//test3:在第一步创建的子键MySubKey下增加键值项

CString strValue="value of the MySubKey's valueItem";

lRtVal= RegSetValueEx( hkey1, "valItem1", 0, REG_SZ, (const byte *)(LPCTSTR)strValue , strValue.GetLength() + 1 );

//test4:在MySubSubKey下创建键值项

if( lrt == ERROR_SUCCESS )

{

strValue="value of the MySubSubKey's valueItem";

lRtVal= RegSetValueEx( hkey2, "valItem1", 0, REG_SZ, (const byte *)(LPCTSTR)strValue , strValue.GetLength() + 1 );

}

}

}

二,读注册表, 函数:RegOpenKeyEx, RegQueryValueEx

void ReadReg()

{

//test1,读取MySubSubKey下的valItem1值

CString strSubkey= "MySubKey\\MySubSubKey";

HKEY hKey;

char szValue[100]={0};

if( ERROR_SUCCESS == RegOpenKeyEx( HKEY_CURRENT_USER, strSubkey, 0, KEY_QUERY_VALUE, hKey ) )

{

DWORD dwType= REG_SZ;

unsigned long nSize= sizeof(szValue) - 1;

if( ERROR_SUCCESS == RegQueryValueEx( hKey, "valItem1", NULL, dwType, (byte *)szValue, nSize ) )

{

int a=0;

}

}

}

读写注册表要注意访问标志,常用的有:

1,可增加子键: KEY_CREATE_SUB_EY

2. 可增加键值项:KEY_SET_VALUE

3.可查询键值项:KEY_QUERY_VALUE

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语言中能进行修改注册表功能吗?

不可以,要修改注册表,按:开始》运行,输入regedit进入注册表编辑器进行修改。


网站栏目:c语言修改注册表函数 注册表修改系统语言
网站网址:http://www.wjwzjz.com/article/hpieig.html
在线咨询
服务热线
服务热线:028-86922220
TOP