程序实现自启动的各种方法及编程实现

  • A+
所属分类:网络安全

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

许多应用软件自动启动的常用做法就是Windows 自动启动放入该文件夹的所有快捷方

式。用户启动文件夹一般在:\Documents and Settings\<用户名字>\“开始”菜单\程序

\启动,其中“<用户名字>”是当前登录的用户帐户名称。



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

这是自动启动程序的第二个重要位置,不管用户用什么身份登录系统,放入该文件夹的

快捷方式总是自动启动——这是它与用户专有的启动文件夹的区别所在。该文件夹一般在:

\Documents and Settings\All Users\“开始”菜单\程序\启动。



三、Load注册键

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

HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows

\load。



四、Userinit注册键

位置: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ WindowsNT \

CurrentVersion\Winlogon\Userinit。这里也能够使系统启动时自动初始化程序。通常该注

册键下面有一个userinit.exe,如图一,但这个键允许指定用逗号分隔的多个程序,例如

“userinit.exe,OSA.exe”(不含引号)。



五、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。



六、RunServicesOnce注册键

RunServicesOnce 注册键用来启动服务程序,启动时间在用户登录之前,而且先于其他

通过注册键启动的程序。RunServicesOnce 注册键的位置是:HKEY_CURRENT_USER\

Software \ Microsoft \ Windows \ CurrentVersion \ RunServicesOnce , 和

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \

RunServicesOnce。



七、RunServices 注册键

RunServices注册键指定的程序紧接RunServicesOnce指定的程序之后运行,但两者都在

用户登录之前。RunServices 的位置是:HKEY_CURRENT_USER\Software\Microsoft\

Windows\CurrentVersion\RunServices,和HKEY_LOCAL_MACHINE\SOFTWARE\

Microsoft\Windows\CurrentVersion\RunServices。



八、RunOnce\Setup注册键

RunOnce \ Setup 指定了用户登录之后运行的程序, 它的位置是:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce\

Setup,和HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

\RunOnce\Setup。



九、RunOnce注册键

安装程序通常用RunOnce 键自动运行程序,它的位置在HKEY_LOCAL_MACHINE\

SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce和HKEY_CURRENT_USER

\Software\Microsoft\Windows\CurrentVersion\RunOnce。HKEY_LOCAL_MACHINE

下面的RunOnce 键会在用户登录之后立即运行程序,运行时机在其他Run 键指定的程序之

前。HKEY_CURRENT_USER下面的RunOnce键在操作系统处理其他Run键以及“启动”

文件夹的内容之后运行。如果是XP,你还需要检查一下HKEY_LOCAL_MACHINE\

SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx。



十、Run注册键

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键运行,但两者都在处理“启动”文件夹之前
-------------------------------------------------------------

下边贴出C语言修改注册表Run注册键的方案给大家参考:
-------------------------------------------------

#include <stdio.h>
#include <windows.h>
 
main()
{
        char regname[] = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
        HKEY hkResult;
        int ret = RegOpenKey(HKEY_LOCAL_MACHINE, regname, &hkResult);
        ret=RegSetValueEx(hkResult, "FishC", 0, REG_EXPAND_SZ, (unsigned
        char *)"%systemroot%\\FishC.exe", 25);
        //如果%systemroot%下有FishC.exe 这个文件,那么系统启动时就自动运行
        if( ret == 0 )
        {
                printf("success to write run key\n");
                RegCloseKey(hkResult);
        }
        else 
        {
                printf("failed to open regedit.%d\n",ret);
                return 0;
        }
}
 
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: