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); } |
欢迎光临 黑色海岸线论坛 (http://bbs.thysea.com/) | Powered by Discuz! 7.2 |