首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

程序从注册表自启动

程序从注册表自启动

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注册键


下面介绍一下通过编程实现程序自启动





  • #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;  
  • }  
返回列表