您的位置:首页 > 其它

MFC利用注册表添加开机启动项和删除开机启动项

2012-10-10 18:30 771 查看
转载请注明出处:/article/3712361.html

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: