C++操作注册表实现开机自启动程序
2017-03-14 20:13
357 查看
//能读懂并运用这段代码就行了.具体一些参数细节由图进行解释,很快就明白了,备注:关于win8下读写注册表需要相关权限.自行科普.
int test()
{
LPCTSTR lpSubKey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";
HKEY hKey;
REGSAM flag = KEY_WOW64_64KEY;
DWORD dwDisposition = REG_OPENED_EXISTING_KEY;
LONG lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE,lpSubKey, 0, KEY_ALL_ACCESS|flag,&hKey);
//LONG lRet = ::RegCreateKeyEx(HKEY_LOCAL_MACHINE, lpSubKey, NULL, NULL, REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS, NULL, &hKey, &dwDisposition);
if ( ERROR_SUCCESS != lRet)
{
return -1;
}
TCHAR *pchrName = "D:\\非编程软件\\Tencent\\QQ\\Bin\\QQ.exe";
lRet = ::RegSetValueEx(hKey, TEXT("TEST"), NULL, REG_SZ, (LPBYTE)pchrName, strlen(pchrName)*sizeof(TCHAR)+1); //设置注册表项
if ( ERROR_SUCCESS != lRet)
{
return -1;
}
::RegCloseKey(hKey); //与RegCreateKeyEx配对写
return 0;
}
int test()
{
LPCTSTR lpSubKey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";
HKEY hKey;
REGSAM flag = KEY_WOW64_64KEY;
DWORD dwDisposition = REG_OPENED_EXISTING_KEY;
LONG lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE,lpSubKey, 0, KEY_ALL_ACCESS|flag,&hKey);
//LONG lRet = ::RegCreateKeyEx(HKEY_LOCAL_MACHINE, lpSubKey, NULL, NULL, REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS, NULL, &hKey, &dwDisposition);
if ( ERROR_SUCCESS != lRet)
{
return -1;
}
TCHAR *pchrName = "D:\\非编程软件\\Tencent\\QQ\\Bin\\QQ.exe";
lRet = ::RegSetValueEx(hKey, TEXT("TEST"), NULL, REG_SZ, (LPBYTE)pchrName, strlen(pchrName)*sizeof(TCHAR)+1); //设置注册表项
if ( ERROR_SUCCESS != lRet)
{
return -1;
}
::RegCloseKey(hKey); //与RegCreateKeyEx配对写
return 0;
}
相关文章推荐
- Windows下通过写注册表的方式实现程序开机自启动
- 修改注册表 实现开机程序自启动
- 注册表--->使自己的程序实现开机启动
- C#中实现程序开机自启动 三种方式
- VC读写注册表实现程序自启动的实现源代码
- VC++程序开机自启动(注册表上注册)
- exe程序有几种方式实现开机自启动
- C#中实现程序开机自启动
- qt for android实现程序的开机自启动。
- 修改注册表,实现开机启动程序
- 如何将程序添加到系统服务实现开机自启动
- symbian 利用Recognizer编写自己的MDL实现开机自启动程序
- c#实现程序自启动(修改注册表)
- 玩转VC++实现程序开机运行及注册表修改
- 修改注册表开机自启动程序
- Windows程序中实现程序开机自启动
- C#中实现程序开机自启动
- 实现linux 程序开机自启动
- centos下实现程序开机自启动(tomcat为例)
- Android 开机自启动程序的实现