如何让程序随开机自动启动
2010-01-19 09:59
501 查看
if (/*需要开机启动*/)
{
//写入注册表,开机自启动
HKEY hKey;
//找到系统的启动项
LPCTSTR lpRun = "Software//Microsoft//Windows//CurrentVersion//Run";
//打开启动项Key
long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, KEY_WRITE, &hKey);
if(lRet == ERROR_SUCCESS)
{
char pFileName[MAX_PATH] = {0};
//得到程序自身的全路径
DWORD dwRet = GetModuleFileName(NULL, pFileName, MAX_PATH);
//添加一个子Key,并设置值 // 下面的"test"是应用程序名字(不加后缀.exe)
lRet = RegSetValueEx(hKey, "test", 0, REG_SZ, (BYTE *)pFileName, dwRet);
//关闭注册表
RegCloseKey(hKey);
if(lRet != ERROR_SUCCESS)
AfxMessageBox("系统参数错误,不能随系统启动");
}
}
//如果不想随开机启动,则需要查找注册表项看有没有,如果有的话则需要删除注册表项
else
{
//删除注册表中的开机自启动项
HKEY Hkey;
DWORD dwErrorCode;
char Key[40]={0};
LPCTSTR lpRun = "Software//Microsoft//Windows//CurrentVersion//Run";
strcpy(Key,"文件监控");
dwErrorCode= RegOpenKeyEx(HKEY_LOCAL_MACHINE,lpRun,0,KEY_ALL_ACCESS,&Hkey);
//查询是否有该键值
BYTE lpData[256];
DWORD dwType = REG_SZ;
DWORD dwNum = 256;
//查询注册表项值“test”项是否存在
long lRslt = RegQueryValueEx(Hkey, Key, 0, &dwType, lpData, &dwNum);
//如果查询成功
if (lRslt == ERROR_SUCCESS)
dwErrorCode= RegDeleteValue(Hkey,Key);
RegCloseKey(Hkey);
}
{
//写入注册表,开机自启动
HKEY hKey;
//找到系统的启动项
LPCTSTR lpRun = "Software//Microsoft//Windows//CurrentVersion//Run";
//打开启动项Key
long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, KEY_WRITE, &hKey);
if(lRet == ERROR_SUCCESS)
{
char pFileName[MAX_PATH] = {0};
//得到程序自身的全路径
DWORD dwRet = GetModuleFileName(NULL, pFileName, MAX_PATH);
//添加一个子Key,并设置值 // 下面的"test"是应用程序名字(不加后缀.exe)
lRet = RegSetValueEx(hKey, "test", 0, REG_SZ, (BYTE *)pFileName, dwRet);
//关闭注册表
RegCloseKey(hKey);
if(lRet != ERROR_SUCCESS)
AfxMessageBox("系统参数错误,不能随系统启动");
}
}
//如果不想随开机启动,则需要查找注册表项看有没有,如果有的话则需要删除注册表项
else
{
//删除注册表中的开机自启动项
HKEY Hkey;
DWORD dwErrorCode;
char Key[40]={0};
LPCTSTR lpRun = "Software//Microsoft//Windows//CurrentVersion//Run";
strcpy(Key,"文件监控");
dwErrorCode= RegOpenKeyEx(HKEY_LOCAL_MACHINE,lpRun,0,KEY_ALL_ACCESS,&Hkey);
//查询是否有该键值
BYTE lpData[256];
DWORD dwType = REG_SZ;
DWORD dwNum = 256;
//查询注册表项值“test”项是否存在
long lRslt = RegQueryValueEx(Hkey, Key, 0, &dwType, lpData, &dwNum);
//如果查询成功
if (lRslt == ERROR_SUCCESS)
dwErrorCode= RegDeleteValue(Hkey,Key);
RegCloseKey(Hkey);
}
相关文章推荐
- Linux下如何让自己的程序在开机时自动启动
- 如何让自己的程序在开机时自动启动
- 两个小知识:C#如何设置开机启动时自动执行程序|C# WinForm打开超链接
- win7如何添加开机启动程序(开机就自动运行打开)
- 如何让A20,android开机自动启动C程序【转】
- Linux下如何让自己的程序在开机时自动启动
- linux下如何设置开机自动启动程序
- Win7如何提升为管理员权限,如何开机启动需要管理员权限的程序,解决win7开机不能自动运行的问题等
- 如何顺利实现LINUX系统开机自动启动指定的脚本程序
- 怎度网 学而时习,温故知新,不亦说乎 在Linux系统如何让程序开机时自动启动(转载自https://www.cnblogs.com/zendu/p/4991065.html)
- Win7如何提升为管理员权限,如何开机启动需要管理员权限的程序,解决win7开机不能自动运行的问题等
- 如何让程序开机自动启动
- Win7如何提升为管理员权限,如何开机启动需要管理员权限的程序,解决win7开机不能自动运行的问题等
- 在Linux系统如何让程序开机时自动启动
- win7如何使程序开机自启(开机自动启动应用程序)
- 在linux下如何设置开机自动启动程序?
- Linux下如何让自己的程序在开机时自动启动
- 在Linux系统如何让程序开机时自动启动
- 如何让A20,android开机自动启动C程序
- 在linux下如何设置开机自动启动程序?