VC 实现开机自动运行程序
2009-05-21 09:44
有时候,我们需要在计算机启动的时候就启动某些程序,不要人干预。这里,
提供一种让程序开机自动运行的方法。见下面代码:
BOOL CXXX::SetAutoRun(CString strPath)
{
CString str;
HKEY hRegKey;
BOOL bResult;
str=_T("Software\Microsoft\Windows\CurrentVersion\Run");
if(RegOpenKey(HKEY_LOCAL_MACHINE, str, &hRegKey) !=
ERROR_SUCCESS)
bResult=FALSE;
else
{
_splitpath(strPath.GetBu8er(0),NULL,NULL,str.GetBu8erSetLength(M
AX_PATH+1),NULL);
strPath.ReleaseBu8er();
str.ReleaseBu8er();
if(::RegSetValueEx( hRegKey,str,0,REG_SZ,(CONST BYTE
*)strPath.GetBu8er(0),strPath.GetLength() )!=ERROR_SUCCESS)
bResult=FALSE;
else
bResult=TRUE;
strPath.ReleaseBu8er();
}
return bResult;
}
CString CXXX::GetMyPath()
{
CString strPath;
GetModuleFileName(NULL,strPath.GetBu8erSetLength(MAX_PATH+1
),MAX_PATH);
strPath.ReleaseBu8er();
return strPath;
}
//把上面的两个函数加入在程序初始化的地方
CString mypath;
mypath=GetMyPath();
SetAutoRun(mypath);
评论9