C语言能对注册表进行操做吗?
如题 问题点数:0、回复次数:10Top
1 楼imRainman(雨人)回复于 2004-12-04 13:17:03 得分 0
可以,不过要使用windows API提供的C语言接口函数。Top
2 楼sharkhuang(走吧走吧!人总会慢慢长大~)回复于 2004-12-04 13:17:15 得分 0
当然了!其实主要是操作系统的api决定的Top
3 楼justoday(咋地啦? 又让人给煮啦)回复于 2004-12-04 14:46:54 得分 0
#include <Windows.h>
#include <iostream.h>
int main(void)
{
HKEY hKey;
char SubKeyName[] = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion";
char ValueName[] = "ProductID";
BYTE ValueData[64];
DWORD BufferSize;
if ( RegOpenKeyEx(HKEY_LOCAL_MACHINE, SubKeyName, 0, KEY_QUERY_VALUE, &hKey) != ERROR_SUCCESS )
{
cout<<"Error: RegOpenKeyEx"<<endl;
return -1;
}
BufferSize = sizeof(ValueData);
if (RegQueryValueEx(hKey, ValueName, 0, NULL, ValueData, &BufferSize) != ERROR_SUCCESS)
{
cout<<"Error: RegQueryValueEx"<<endl;
RegCloseKey( hKey );
return -1;
}
cout<<"Your Windows Procduct ID is: "<<ValueData<<endl;
RegCloseKey( hKey );
return 0;
}
//还有一个RegSetValueEx,用过高键值,,自己查和下MSDN什么用Top
4 楼justoday(咋地啦? 又让人给煮啦)回复于 2004-12-04 14:47:40 得分 0
“用过高键值”用来设键值Top
5 楼weping(无语)回复于 2004-12-04 15:21:43 得分 0
太感谢了~~Top
6 楼woaichenyu(小吴)回复于 2004-12-04 15:43:48 得分 0
路过
学习
Top
7 楼williamVII(spread)回复于 2004-12-04 16:20:29 得分 0
pass by
study
Top
8 楼justoday(咋地啦? 又让人给煮啦)回复于 2004-12-07 17:20:07 得分 0
楼主:问题解决了吗?
有空,去这里给CSDN投一票
http://vote.icxo.com/100bbs/index.jspTop
9 楼njcy80(大鲨王)回复于 2004-12-07 19:36:21 得分 0
当然可以的呀,别说注册表了,就连操作系统的许多部分,也是用C语言写的。Top
10 楼candlelight(candlelight)回复于 2004-12-07 21:24:45 得分 0
^_^ 可不可以先生成一个注册表文件然后再导入注册表,然后程序自动执行清理哦?Top




