转载请注明出处:http://blog.csdn.net/drecik__/article/details/8057633
bool CDialogFunction::SetAutoRun(bool bAutoRun)
{
// 打开系统启动项注册表;
HKEY hKey;
LPCTSTR szRun = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
if ( RegOpenKeyEx( HKEY_LOCAL_MACHINE, szRun, 0, KEY_ALL_ACCESS, &hKey )
== ERROR_SUCCESS )
{
// 设置开机启动;
if ( bAutoRun )
{
// 获得全路径;
char szFileName[MAX_PATH] = {0};
DWORD dwRet = GetModuleFileName( NULL, szFileName, MAX_PATH );
// 添加一个子Key,即添加开机启动项,第二个参数为应用程序名,不加.exe后缀;
long lRet = RegSetValueEx( hKey, "MFCLogin", 0, REG_SZ, (BYTE*)szFileName, dwRet );
RegCloseKey(hKey);
if ( lRet != ERROR_SUCCESS )
return false;
}
else // 删除开启启动;
{
long lRet = RegDeleteValue( hKey, "MFCLogin" );
RegCloseKey(hKey);
if ( lRet != ERROR_SUCCESS )
return false;
}
}
else
return false;
return true;
}