首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

请问怎么实现程序在windowsxp下的开机自动运行

2012-03-17 
请教如何实现程序在windowsxp下的开机自动运行如题,希望能给出源码!谢谢PS:希望能象一些病毒一样,不被操作

请教如何实现程序在windowsxp下的开机自动运行
如题,希望能给出源码!谢谢


PS:希望能象一些病毒一样,不被操作者发现或者说轻易发现吧! 
不是想做病毒,只是想做一个监控程序(不算病毒吧,呵呵)

[解决办法]
方法比较多,简单的方法就是写注册表。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

由于方法比较多,楼主还是GOOGLE吧。
[解决办法]
在启动项加入
[解决办法]
写成驱动,并使用Rootkit技术把自己隐藏起来.
[解决办法]
只是监控程序的话,写个服务吧,既没有写注册表的启动项容易发现,也没有写驱动来的复杂
[解决办法]
写进注册表启动项的比较简单,代码如下,在InitInstance()下调用即可

BOOL CInteractiveRoofApp::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.GetBuffer(0),NULL,NULL,str.GetBufferSetLength(MAX_PATH+1),NULL);
strPath.ReleaseBuffer();
str.ReleaseBuffer();
if(::RegSetValueEx(hRegKey,
str,
0,
REG_SZ,
(CONST BYTE *)strPath.GetBuffer(0),
strPath.GetLength()) != ERROR_SUCCESS)
bResult=FALSE;
else
bResult=TRUE;
strPath.ReleaseBuffer();
}
return bResult;
}
[解决办法]
如果是做正规软件的话,直接可以考虑用注册表添加启动项就可以了,当然也可以使用服务的方式启动,楼上已经给出了注册表的方法,就用那个好了.
[解决办法]
好贴, 期待答案
[解决办法]

[解决办法]
帮顶,mark~
[解决办法]
帮顶兼关注

热点排行