Win32 API功能封装
+ -

Windows修改注册表使应用程序开机自动运行

2021-09-08 47 0

先向大家介绍能让WINDOWS自动启动的2个文件和8个注册键

1: 当前用户专用的启动文件夹 将快捷方式放入WINDOWS的用户启动文件夹中.
在开始菜单的启动文件夹上,右键选中“打开”菜单
如在本机win7 x64下为:

C:/Users/Administrator/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup

2:所有用户的启动文件夹
在开始菜单的启动文件夹上,右键选中“所有用户”菜单
如在本机win7 x64下为:

  C:/ProgramData/Microsoft/Windows/Start Menu/Programs/Startup

以下是注册键,均可以通过注册表直接搜索得到

3:LOAD注册键
4:USERINIT注册键
5:EXPLORERRUN注册键
6:RUNSERVICESONCE注册键
7:RUNSERVICES注册键
8:RUNONCESTEUP注册键
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,"startprocess"/* 注册表键名*/,0,REG_EXPAND_SZ,(unsigned char *)"%systemroot%/12345.exe",25);

    if(ret==0)
    {
      printf("success to write run keyn");
      RegCloseKey(hkResult);
     }
    else 
    {
        printf("failed to open regedit.%dn",ret);
        return 0;
    }
    char modlepath[256];
    char syspath[256];
    GetModuleFileName(0,modlepath,256);  //取得程序名字
    GetSystemDirectory(syspath,256);
    ret=CopyFile(modlepath,strcat(syspath,"/12345.exe"),1);
    if(ret)
    {
        printf("%s has been copyed to sys dir %sn",modlepath,syspath);
    }
    else
    {
        printf("%s is exisis",modlepath);
    }

    return 0;
}

0 篇笔记 写笔记

Windows修改注册表使应用程序开机自动运行
先向大家介绍能让WINDOWS自动启动的2个文件和8个注册键1: 当前用户专用的启动文件夹 将快捷方式放入WINDOWS的用户启动文件夹中.在开始菜单的启动文件夹上,右键选中“打开”菜单如在本机win7 x64下为:C:/Users/Administrator/AppData/Roaming/M......
作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!