有没有比较好的开机自动启动方案?

ajn_sailing 2009-05-13 06:29:46
最简单的方案是设置注册表自动加载项,但容易被用户删除
现在很多程序都有后台值守小程序,主程序退出后依然在后台运行,我想做一个类似的程序
有个程序叫Speedy Mule,后台值守程序有peermanager.exe和updatesrv.exe,每次开机自动运行,不是用设置注册表的方式,也不是服务,不知道人家如何做到的

请各位给个思路,谢谢!
...全文
2555 144 打赏 收藏 转发到动态 举报
写回复
用AI写文章
144 条回复
切换为时间正序
请发表友善的回复…
发表回复
Shana3978 2011-07-20
  • 打赏
  • 举报
回复
一直在用组策略做自启动,还是很方便的。
comewisdom 2010-12-07
  • 打赏
  • 举报
回复
学习学习............
zhouzhipen 2009-06-02
  • 打赏
  • 举报
回复
学习一下
zhgzhan851222 2009-06-02
  • 打赏
  • 举报
回复
正在做一个类型的功能 学习中
ajn_sailing 2009-05-27
  • 打赏
  • 举报
回复
暴风影音stormliv.exe和adobe的自动更新程序都是自动启动 驻留内存的,但不是用注册表也不是通常启动项加载,更重要的:杀毒软件没有报警,因此人家用的不是我们上面讨论的流氓软件方案
tengfei2002 2009-05-27
  • 打赏
  • 举报
回复
Windows自动启动程序方法
Windows自动启动程序方法
作者:未知
Windows启动时通常会有一大堆程序自动启动。不要以为管好了“开始→程序→启动”菜单就万事大吉,实际上,在Windows XP/2K中,让Windows自动启动程序的办法很多,下文告诉你最重要的两个文件夹和八个注册键。

  一、当前用户专有的启动文件夹

  这是许多应用软件自动启动的常用位置,Windows自动启动放入该文件夹的所有快捷方式。用户启动文件夹一般在:Documents and Settings<用户名字>「开始」菜单程序启动,其中“<用户名字>”是当前登录的用户帐户名称。

  二、对所有用户有效的启动文件夹

  这是寻找自动启动程序的第二个重要位置,不管用户用什么身份登录系统,放入该文件夹的快捷方式总是自动启动——这是它与用户专有的启动文件夹的区别所在。该文件夹一般在:Documents and SettingsAll Users「开始」菜单程序启动。

  三、Load注册键

  介绍该注册键的资料不多,实际上它也能够自动启动程序。位置:HKEY_CURRENT_USERSoftwareMicrosoftWindowsNTCurrentVersionWindowsload。

  四、Userinit注册键

  位置:HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionWinlogonUserinit。这里也能够使系统启动时自动初始化程序。通常该注册键下面有一个userinit.exe,如图,但这个键允许指定用逗号分隔的多个程序,例如“userinit.exe,OSA.exe”(不含引号)。
  
  五、ExplorerRun注册键

  和load、Userinit不同,ExplorerRun键在HKEY_CURRENT_USER和HKEY_LOCAL_MACHINE下都有,具体位置是:HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun,和HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesExplorerRun。

  六、RunServicesOnce注册键

  RunServicesOnce注册键用来启动服务程序,启动时间在用户登录之前,而且先于其他通过注册键启动的程序。RunServicesOnce注册键的位置是:HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunServicesOnce,和HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunServicesOnce。

  七、RunServices注册键

  RunServices注册键指定的程序紧接RunServicesOnce指定的程序之后运行,但两者都在用户登录之前。RunServices的位置是:HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunServices,和HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunServices。

  八、RunOnceSetup注册键

  RunOnceSetup指定了用户登录之后运行的程序,它的位置是:HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnceSetup,和HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunOnceSetup。

  九、RunOnce注册键

  安装程序通常用RunOnce键自动运行程序,它的位置在HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunOnce和HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnce。HKEY_LOCAL_MACHINE下面的RunOnce键会在用户登录之后立即运行程序,运行时机在其他Run键指定的程序之前。HKEY_CURRENT_USER下面的RunOnce键在操作系统处理其他Run键以及“启动”文件夹的内容之后运行。如果是XP,你还需要检查一下HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunOnceEx。

  十、Run注册键

  Run是自动运行程序最常用的注册键,位置在:HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun,和HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun。HKEY_CURRENT_USER下面的Run键紧接HKEY_LOCAL_MACHINE下面的Run键运行,但两者都在处理“启动”文件夹之前。




--------------------------------------------------------------------------------


当Windows完成登录过程,鼠标指针从繁忙到安静,除桌面上的图标,你还看到了什么?也许表面没什么变化,但你有没有注意到,你的系统托盘区多出了许多图标,你的进程表中出现了很多的进程!Windows在启动的时候,自动加载了很多程序,你知道它们是在什么地方被加载的吗?

  许多程序的自启动,给我们带来了很多方便,这是不争的事实,但是否每个自启动的程序对我们都有用呢?更甚者,也许有病毒或木马在自启动行列,而你却不知!

  到现在,你是不是觉得了解自启动文件的藏身之处有必要呢?那好,下面我就一一指出,让它们无外可藏!

  其实Windows2000/XP中的自启动文件,除了从以前系统中遗留下来的Autoexec.bat文件中加载外,按照两个文件夹和9个核心注册表子键来自动加载程序的。

  1)“启动”文件夹--最常见的自启动程序文件夹。它位于系统分区的“Documents and Settings-->User-->〔开始〕菜单-->程序”目录下。这时的User指的是你登录的用户名。

  2)“All Users”中的自启动程序文件夹--另一个常见的自启动程序文件夹。它位于系统分区的“Documents and Settings-->All User-->〔开始〕菜单-->程序”目录下。前面提到的“启动”文件夹运行的是登录用户的自启动程序,而“All Users”中启动的程序是在所有用户下都有效(不论你用什么用户登录)。

  3)“Load”键值--一个埋藏得较深的注册表键值。位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\load〕主键下。

  4)“Userinit”键值--它则位于〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit〕主键下,也是用于系统启动时加载程序的。一般情况下,其默认值为“userinit.exe”,由于该子键的值中可使用逗号分隔开多个程序,因此,在键值的数值中可加入其它程序。

  5)“Explorer\Run”键值--与“load”和“Userinit”两个键值不同的是,“Explorer\Run”同时位于〔HKEY_CURRENT_USER〕和〔HKEY_LOCAL_MACHINE〕两个根键中。它在两个中的位置分别为〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run〕下。

  6)“RunServicesOnce”子键--它在用户登录前及其它注册表自启动程序加载前面加载。这个键同时位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce〕下。

  7)“RunServices”子键--它也是在用户登录前及其它注册表自启动程序加载前面加载。这个键同时位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices〕下。

  8)“RunOnce\Setup”子键--其默认值是在用户登录后加载的程序。这个键同时位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup〕下。

  9)“RunOnce”子键--许多自启动程序要通过RunOnce子键来完成第一次加载。这个键同时位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce〕下。位于〔HKEY_CURRENT_USER〕根键下的RunOnce子键在用户登录扣及其它注册表的Run键值加载程序前加载相关程序,而位于〔HKEY_LOCAL_MACHINE〕主键下的Runonce子键则是在操作系统处理完其它注册表Run子键及自启动文件夹内的程序后再加载的。在Windows XP中还多出一个〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEX〕子键,其道理相同。

  10)“Run”子键--目前最常见的自启动程序用于加载的地方。这个键同时位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run〕下。其中位于〔HKEY_CURRENT_USER〕根键下的Run键值紧接着〔HKEY_LOCAL_MACHINE〕主键下的Run键值启动,但两个键值都是在“启动”文件夹之前加载。

  11)再者就是Windows中加载的服务了,它的级别较高,用于最先加载。其位于〔HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services〕下,看到了吗,你所有的服务加载程序都在这里了!

  12)Windows Shell──它位于〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\〕下面的Shell字符串类型键值中,基默认值为Explorer.exe,当然可能木马程序会在此加入自身并以木马参数的形式调用资源管理器,以达到欺骗用户的目的。

  13)BootExecute──它位于注册表中〔HKEY_LOCAL_MACHINE\System\ControlSet001\Session Manager\〕下面,有一个名为BootExecute的多字符串值键,它的默认值是"autocheck autochk *",用于系统启动时的某些自动检查。这个启动项目里的程序是在系统图形界面完成前就被执行的,所以具有很高的优先级。

  14)策略组加载程序——打开Gpedit.msc,展开“用户配置——管理模板——系统——登录”,就可以看到“在用户登录时运行这些程序”的项目,你可以在里面添加。在注册表中[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\本地User\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]你也可以看到相对应的键值。

ajn_sailing 2009-05-27
  • 打赏
  • 举报
回复
哦,stormliv.exe是服务
b87437734 2009-05-25
  • 打赏
  • 举报
回复
直接添加到启动里面不就 可以了 ?
ttm1984 2009-05-25
  • 打赏
  • 举报
回复
学学人家灰鸽子
chongchong001 2009-05-20
  • 打赏
  • 举报
回复
学习了。。。
akenSYGXY 2009-05-20
  • 打赏
  • 举报
回复
是不是黑客程序?
solotracy 2009-05-19
  • 打赏
  • 举报
回复
进来学习了
yangangs 2009-05-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 biweilun 的回复:]
给你个思路,找到C:\windows\explorer.exe,这个是桌面外壳,系统启动一定会运行它。自己做一个explorer.exe,把原来的explorer.exe改名为explorer2.exe.
然后在你的explorer.exe中调用explorer2.exe(没这个你就没桌面了)和你希望自启动的程序或是代码
[/Quote]
这个方法不错啊
waterdream0820 2009-05-19
  • 打赏
  • 举报
回复
机械毛 2009-05-19
  • 打赏
  • 举报
回复
ATL做个服务程序,设置成开机自动启动,不是很简单吗?
fldx 2009-05-18
  • 打赏
  • 举报
回复
我原来是写了个服务,专门调程式的。不过服务调的时候记得要是一个可以交互的服务,要不然你就是看到它在进程列表中



回帖是一种美德!每天回帖即可获得 10 分可用分!
Simao 2009-05-18
  • 打赏
  • 举报
回复
学习
woodyh 2009-05-18
  • 打赏
  • 举报
回复
高人真多啊~~
superdiablo 2009-05-18
  • 打赏
  • 举报
回复
mark
bragi523 2009-05-18
  • 打赏
  • 举报
回复
mark!
加载更多回复(124)

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧