//获取可执行文件路径
CString sPath;
GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer ();
/*
int nPos;
nPos=sPath.ReverseFind('//');
sPath=sPath.Left(nPos);
*/
// AfxMessageBox(sPath);
LPSTR lpPath = (LPSTR)(LPCTSTR)sPath;
//开机自启----
HKEY hkey;
DWORD cbData =MAX_PATH; /*strlen(lpstr)*/;
if( ERROR_SUCCESS!=RegOpenKeyEx(HKEY_LOCAL_MACHINE,
_T("SOFTWARE//Microsoft//Windows//CurrentVersion//Run//"),
0,
KEY_WRITE,
&hkey) )
{AfxMessageBox("RegOpenKeyEx failed");}
else
{//
RegSetValueEx(hkey,
_T("ZhongWeiSoft"),
0,
REG_SZ,
(CONST BYTE *)lpPath,
cbData);
}
RegCloseKey(hkey);
本文介绍了一种使用 C++ 在 Windows 系统中设置程序开机自启动的方法。通过获取当前可执行文件的路径,并利用 Windows 注册表 API 实现程序随系统启动而自动运行的功能。
2522

被折叠的 条评论
为什么被折叠?



