返回列表 发帖

[原创] vc++操作注册表实现自启动程序

应论坛朋友们的要求发一些关于vc的资料,这是我写的东东,文章尽量简单,全都有注释,相信看得懂语法的朋友。都因该能懂,呵呵,很垃圾的东西!见笑了,改天再弄个HOOK键盘记录的代码,白天上班实在没多少时间,只有晚上抽空给大家写!见谅!

void CMainFrame::OnRegWrite()
{
// TODO: Add your command handler code here
//定义下面要用到的HEKY
HKEY hkey;
//定义需要启动的程序路径
LPCTSTR strUserValue = "D:\\1.exe";
//创建项
// RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run1",&hkey);
//打开指定项,建议使用RegCreateKey,这样的话,没有这个项目他会自动创建一个Run
RegOpenKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run1",&hkey);
//两种方式设置值,第一种设置项下的默认键值,第二种则为创建一个新的键
// RegSetValue(hkey,NULL,REG_SZ,"lonely",strlen("lonely"));
RegSetValueEx(hkey,"ange",0,REG_SZ,(CONST BYTE*)strUserValue,strlen(strUserValue)+1);
//关闭hkey句柄
RegCloseKey(hkey);
}
void CMainFrame::OnRegRead()
{
// TODO: Add your command handler code here
/* long qlue;
RegQueryValue(HKEY_LOCAL_MACHINE,"Software\\http://www.baidu.com\\isbx",NULL,&qlue);
char *pbuf = new char[qlue];
RegQueryValue(HKEY_LOCAL_MACHINE,"Software\\http://www.baidu.com\\isbx",pbuf,&qlue);
MessageBox(pbuf);*/
//定义下面要用到的HKEY
     HKEY key;
//要操作注册表首先打开要操作的注册表项
RegOpenKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",&key);
//定义RegQueryValueEx中第四个参数要用到的返回数据类型
DWORD dwType;
//定义一个数组来接收缓冲区中的数据。
char *instal_path[50];
//RegQueryValueEx最后一个参数需要一个参数接收返回数据的大小。
DWORD dwValue;
//获取指定项值
RegQueryValueEx(key,"ange",0,&dwType,(LPBYTE)&instal_path,&dwValue);
//格式化并把该值用窗口弹出
CString cs;
cs.Format("%s",instal_path);
AfxMessageBox(cs);
}

  給自己一個晚上,沒有愛又能怎樣,我不是你的天使,我不懂你的天堂!☆╬═→  China Isbase

再来个精简版的!操作run项!

HKEY hkey;
LPCTSTR strUserValue = "D:\\1.exe";//这不用说了吧!

RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",&hkey);
//创建项
// RegSetValue(hkey,NULL,REG_SZ,"lonely",strlen("lonely"));
//通过两个注册表API函数操作run项,大家可以看到RegSetValue和RegSetValueEx的区别,
RegSetValueEx(hkey,"ange",0,REG_SZ,(CONST BYTE*)strUserValue,strlen(strUserValue)+1);
//设置该项
RegCloseKey(hkey);//关闭HKEY

[ 本帖最后由 寂寞hacker 于 2007-6-29 07:48 编辑 ]
  給自己一個晚上,沒有愛又能怎樣,我不是你的天使,我不懂你的天堂!☆╬═→  China Isbase

TOP

俺不会编程:( :( :(
借我三千虎骑,复我浩荡中华!饮马恒河畔,剑指天山西;碎叶城揽月,库叶岛赏雪;黑海之滨垂钓,贝加尔湖面张弓;中南半岛访古,东京废墟遥祭华夏列祖。汉旗指处­,望尘逃遁——敢犯中华天威者、虽远必诛

TOP

我也不会!

TOP

楼上两位。没事加偶QQ:968234!有时间交流下!
  給自己一個晚上,沒有愛又能怎樣,我不是你的天使,我不懂你的天堂!☆╬═→  China Isbase

TOP

我也想学

TOP

返回列表 回复 发帖