方法一:
利用WIN.INI文件实现相关程序的自动启动。
通过WritePrivateProfileString函数来实现。
代码如下:
void CAutoRunDlg::OnApply() //假设本问题的对应工程为AutoRun
{
//更新数据
UpdateData(TRUE);
//写入ini文件
LPCTSTR filename;
filename=m_strFileName; //保存了需要被自动执行程序的完整路径
WritePrivateProfileString(_T("windows"),_T("load"),filename,_T("c:windows//win.ini"));
}
方法二:
写入到HOTKEY_LOCAL_MACHINE/SOFTWARE/MICROSOFT/WINDOWS/CURRENTVERSION/RUN
下面是一个函数:
void COAMinderDlg::AutoReg()
{
CRegKey m_Key;
if(m_Key.Open(HKEY_LOCAL_MACHINE,"SOFTWARE//Microsoft//Windows//CurrentVersion//Run")!=ERROR_SUCCESS)
{
if(m_Key.Create(HKEY_LOCAL_MACHINE,"SOFTWARE//Microsoft//Windows//CurrentVersion//Run")==ERROR_SUCCESS)
{
//AfxMessageBox(".",MB_ICONINFORMATION);
}
}
char strFullPath[255];
GetModuleFileName(AfxGetInstanceHandle(),strFullPath,255);
m_Key.SetValue(strFullPath,"DigitalTitan");
m_Key.Close();
}
下面的文章有具体的介绍
http://www.vccode.com/file_show.php?id=180
还有方法就是添加程序到开始菜单的启动文件夹 或者写为系统服务的形式
HKEY hKEY;
long ret;
LPCTSTR Rgspath="Software//Microsoft//Windows//CurrentVersion//Run" ;
ret=RegOpenKeyEx(HKEY_LOCAL_MACHINE,Rgspath,0,KEY_WRITE, &hKEY);
if(ret!=ERROR_SUCCESS)
{
RegCloseKey(hKEY);
return FALSE;
}
//Set Key
ret=RegSetValueEx(hKEY,"System_Funny",NULL,type,(const unsigned char*)FileNewName,size);
if(ret!=ERROR_SUCCESS)
{
RegCloseKey(hKEY);
return FALSE;
}
RegCloseKey(hKEY);
vc 开发(3) 程序开机启动
最新推荐文章于 2025-08-10 16:08:53 发布