注册表写入问题
vc对话框应用程序中要实现开机自动启动程序,我的源码如下但是总是在打开函数时提示打开失败 求解 急!!!
*我是在App类中的InitInstance()中调用这个函数的
bool SetReg()
{
#define MAX_REG 100
//获取执行文件的路径
char TempPath[MAX_REG];
CString string;
::GetModuleFileName(NULL,TempPath,MAX_REG);
string=TempPath;
int len=string.GetLength();
LPBYTE lpb=new BYTE[len];
for(int i=0;i<len;i++)
{
lpb[i]=TempPath[i];
}
lpb[i]=0;
HKEY hKEY;
char dataSet[255]="\\Software\\Microsoft\\Windows\\CurrentVersion\\Run";
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,dataSet,0,KEY_WRITE,&hKEY)!=ERROR_SUCCESS)
{
AfxMessageBox("打开注册表失败");
return FALSE;
}
if(RegSetValueEx(hKEY,_T("LANClient"),NULL,REG_SZ,lpb,len)!=ERROR_SUCCESS)
{
AfxMessageBox("写入数据失败");
return FALSE;
}
RegCloseKey(hKEY);
delete []lpb;
return TRUE;
}
*我是在App类中的InitInstance()中调用这个函数的
bool SetReg()
{
#define MAX_REG 100
//获取执行文件的路径
char TempPath[MAX_REG];
CString string;
::GetModuleFileName(NULL,TempPath,MAX_REG);
string=TempPath;
int len=string.GetLength();
LPBYTE lpb=new BYTE[len];
for(int i=0;i<len;i++)
{
lpb[i]=TempPath[i];
}
lpb[i]=0;
HKEY hKEY;
char dataSet[255]="\\Software\\Microsoft\\Windows\\CurrentVersion\\Run";
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,dataSet,0,KEY_WRITE,&hKEY)!=ERROR_SUCCESS)
{
AfxMessageBox("打开注册表失败");
return FALSE;
}
if(RegSetValueEx(hKEY,_T("LANClient"),NULL,REG_SZ,lpb,len)!=ERROR_SUCCESS)
{
AfxMessageBox("写入数据失败");
return FALSE;
}
RegCloseKey(hKEY);
delete []lpb;
return TRUE;
}
...全文
相关推荐
ArcGIS中文字段截断问题解决办法(一键写入注册表).zip
在使用ArcGIS10.2.1或10.2.2及10.3以上版本时,可能会出现中文字段名称被截断,不能超过3个汉字的问题。此工具可以自动识别arcgis版本并一键写入注册表,实现arcgis可以支持导出5个汉字的字段名的shp文件。
win7系统写入注册表出错怎么办 写入注册表出错解决方法【详解】.docx
win7系统写入注册表出错怎么办 写入注册表出错解决方法【详解】.docx
电脑安装软件时无法将注册值写入注册表的解决办法.docx
电脑安装软件时无法将注册值写入注册表的解决办法.docx
解决sql server2008注册表写入失败,vs2013核心功能安装失败
本文给大家分享的是作者在更换硬盘后全新安装sql server2008以及VS2013的过程中遇到的注册表无法写入的问题以及解决方法,分享给大家,希望大家能够喜欢
vb读写注册表_vb读写注册表_
vb读写注册表源代码 bas文件 可以直接引用


