1: 当前用户专用的启动文件夹 将快捷方式放入WINDOWS的用户启动文件夹中.
路径:系统盘:\Document and Settings\<用户名称>\"开始"\程序\启动
2:所有用户的启动文件夹
路径:系统盘:\Document and Settings\ALL USER\"开始"\程序\启动
以下是注册键,均可以通过注册表直接搜索得到
3:LOAD注册键
4:USERINIT注册键
5:EXPLORER\RUN注册键
6:RUNSERVICESONCE注册键
7:RUNSERVICES注册键
8:RUNONCE\STEUP注册键
9:RUNONCE注册键
10:RUN注册键
路径:系统盘:\Document and Settings\<用户名称>\"开始"\程序\启动
2:所有用户的启动文件夹
路径:系统盘:\Document and Settings\ALL USER\"开始"\程序\启动
以下是注册键,均可以通过注册表直接搜索得到
3:LOAD注册键
4:USERINIT注册键
5:EXPLORER\RUN注册键
6:RUNSERVICESONCE注册键
7:RUNSERVICES注册键
8:RUNONCE\STEUP注册键
9:RUNONCE注册键
10:RUN注册键
下面介绍一下通过编程实现程序自启动
#include <stdio.h>
#include <windows.h>
int main(void)
{
char regname[]="Software\\Microsoft\\Windows\\CurrentVersion\\Run";
HKEY hkResult;
int ret=RegOpenKey(HKEY_LOCAL_MACHINE,regname,&hkResult); //打开关键字
ret=RegSetValueEx(hkResult,"hacker"/* 注册表键名*/,0,REG_EXPAND_SZ,(unsigned char *)"%systemroot%\\hacker.exe",25);
//设置键值
if(ret==0){
printf("success to write run key\n");
RegCloseKey(hkResult);
}
else {
printf("failed to open regedit.%d\n",ret);
return 0;
}
char modlepath[256];
char syspath[256];
GetModuleFileName(0,modlepath,256); //取得程序名字
GetSystemDirectory(syspath,256);
ret=CopyFile(modlepath,strcat(syspath,"\\hacker.exe"),1);
if(ret)
{
printf("%s has been copyed to sys dir %s\n",modlepath,syspath);
}
else printf("%s is exisis",modlepath);
return 0;
}