让软件在系统启动时自动运行,可通过修改注册表实现。
在\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run中添加需启动的程序路径,代码如下:
void autoStart(bool flag)
{
//写入注册表,开机自启动
HKEY hKey;
//找到系统的启动项
LPCTSTR lpRun = (wchar_t*)QString("Software\\Microsoft\\Windows\\CurrentVersion\\Run").utf16();
//打开启动项Key
long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, KEY_WRITE, &hKey);
if(lRet == ERROR_SUCCESS)
{
DWORD dwRet = QApplication::applicationFilePath().length()*2;
//添加一个子Key,并设置值
if (flag == true)
{
lRet = RegSetValueEx(hKey, (WCHAR*)QString("test").utf16(), 0, REG_SZ,
(BYTE*)QApplication::applicationFilePath().utf16(), dwRet);
}
else
{
lRet = RegSetValueEx(hKey, (WCHAR*)QString("test").utf16(), 0, REG_SZ,
(BYTE*)"", dwRet);
}
//关闭注册表
RegCloseKey(hKey);
if(lRet != ERROR_SUCCESS)
{
qDebug("error");
}
}
}