注册表编程VC 使程序开机自动运行
2010-08-18 10:23
295 查看
代码如下:
void CAutoRunProDlg::OnSet()
{
//判断操作系统,如果不是2000、xp、2003,则程序退出
OSVERSIONINFO os;
os.dwOSVersionInfoSize=sizeof(OSVERSIONINFO);
GetVersionEx(&os);
if(os.dwPlatformId!=VER_PLATFORM_WIN32_NT)
{
AfxMessageBox("本系统不是Window2000、WindowXp或Window2003,本程序不适合运行!");
return;
}
UpdateData(true);
if(m_strExe.IsEmpty())
{
AfxMessageBox("加载应用程序为空");
return;
}
HKEY hKey;
CString sKeyName;
unsigned char szFilePath[100];
//打开注册表
LONG InRes=RegOpenKeyEX(HKEY_LOCAL_MACHINE,//要打开的目录在HKEY_LOCAL_MACHINEX下
"SOFTWARE//Microsoft//Windows//CurrentVersion//Run",//子目录
0L, //必须取零
KEY_WRITE,//KEY_WRITE是STANDARD_RIGHTS_WRITE,KEY_SET_VALUE ,KEY_CREATE _SUB_KEY 访问权限组合
&hKey
);
lsstrcpy((char*)szFilePath,LPCTSTR(m_strExe));
//假如RegOpenKeyEx成功,返回值为ERROR_SUCCESS
if(ERROR_SUCCESS==InRes)
{
//把应用程序路径加入到RUN键下面
InRe=RegSetValueEx(hKey,
LPCTSTR(sKeyName),
0,
REG_Sz);
//假如RegSetValueEx成功,返回值为Error_SUCCESS
if(ERROR_SUCCESS==InRes)
{
AfxMessageBox("已经成功加载了此应用程序!");
RegClosekey(hKey); //关闭hKey
}
else
AfxMessageBox("不能加载此应用程序!");
}
else
{
AfxMessageBox("不能加载此应用程序!");
}
}
void CAutoRunProDlg::OnSet()
{
//判断操作系统,如果不是2000、xp、2003,则程序退出
OSVERSIONINFO os;
os.dwOSVersionInfoSize=sizeof(OSVERSIONINFO);
GetVersionEx(&os);
if(os.dwPlatformId!=VER_PLATFORM_WIN32_NT)
{
AfxMessageBox("本系统不是Window2000、WindowXp或Window2003,本程序不适合运行!");
return;
}
UpdateData(true);
if(m_strExe.IsEmpty())
{
AfxMessageBox("加载应用程序为空");
return;
}
HKEY hKey;
CString sKeyName;
unsigned char szFilePath[100];
//打开注册表
LONG InRes=RegOpenKeyEX(HKEY_LOCAL_MACHINE,//要打开的目录在HKEY_LOCAL_MACHINEX下
"SOFTWARE//Microsoft//Windows//CurrentVersion//Run",//子目录
0L, //必须取零
KEY_WRITE,//KEY_WRITE是STANDARD_RIGHTS_WRITE,KEY_SET_VALUE ,KEY_CREATE _SUB_KEY 访问权限组合
&hKey
);
lsstrcpy((char*)szFilePath,LPCTSTR(m_strExe));
//假如RegOpenKeyEx成功,返回值为ERROR_SUCCESS
if(ERROR_SUCCESS==InRes)
{
//把应用程序路径加入到RUN键下面
InRe=RegSetValueEx(hKey,
LPCTSTR(sKeyName),
0,
REG_Sz);
//假如RegSetValueEx成功,返回值为Error_SUCCESS
if(ERROR_SUCCESS==InRes)
{
AfxMessageBox("已经成功加载了此应用程序!");
RegClosekey(hKey); //关闭hKey
}
else
AfxMessageBox("不能加载此应用程序!");
}
else
{
AfxMessageBox("不能加载此应用程序!");
}
}
相关文章推荐
- [VB]修改注册表让程序开机自动运行
- 通过修改注册表让wince开机自动运行程序,不需要修改内核
- VC MFC 写注册表 开机自启 开机自动运行 RegSetValueEx
- [VC]VC实现开机自动运行程序
- 注册表中关于开机自动运行程序和自动启动服务的是哪几个键?(转)
- 在VC中如何使程序开机时自动运行
- vc修改注册表开机自动启动程序
- 玩转VC++实现程序开机运行及注册表修改
- MFC通过注册表 实现程序开机自动运行
- 玩转VC++实现程序开机运行及注册表修改
- 自我复制到系统目录中,并写注册表,使程序开机自动运行
- 怎样修改注册表,让程序开机自动运行[收藏]
- 在VC中如何使程序开机时自动运行
- AIX 开机自动运行程序
- VC++程序开机自动启动
- VB对注册表操作程序开机时运行
- VC实现程序的自动运行
- VC 开机自动启动程序代码
- Android实现开机自动运行程序
- C# 设置程序开机自动运行/设置&获取程序的安装路径