怎么用C语言写个添加开机启动的程序?

请把代码写上来... 请把代码写上来 展开
 我来答
阿尔迈凡
推荐于2019-11-06 · TA获得超过8460个赞
知道大有可为答主
回答量:5744
采纳率:14%
帮助的人:1983万
展开全部
开机启动程序一般是操作系统启动后启动的程序
所以不同的操作系统有不同的开机启动方法

以windows为例可以使用注册表也可以将程序复制到开机启动的某个文件夹里
注册表则一般可以有以下几处
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion
\Run;HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion
\Runonce;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
\Run;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
\RunOnce;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
\RunOnceEx
等等这些位置
c语言的话可以通过system函数调用reg程序来进行对注册表的操作
也可以使用windows所提供的api
RegCreateKeyEx
RegOpenKeyEx
RegSetValueEx
等等这些注册表操作的函数来完成

而linux操作系统(基于linux内核发布的发行版本统称)就与windows不同
一般linux上开机自启可以从自启脚本上进行添加
比如/etc/rc.loca /etc/rc[2-5].d/目录下等等
只需要将要自启的程序路径写入到自启文件里就可以了
c语言也只需要操作文件的函数就能完成

另外也可以使用其它的方法来达到自启的方法
比如感染某个开机自启程序
方法是将自己要启动的程序的代码“注入“到某个开机自启的程序中
比如windows的explorer.exe等
方法可以是将explorer.exe替换成我们的程序
然后奖explorer.exe这个程序移动到其它目录或者更改名称
而我们的程序除了完成我们本身的功能外再多加一个功能,该功能用来创建一个进程调用原有的explorer.exe程序
这样就可以达到开机自启的目的了
当然我们也可以使用一个新的程序来替换explorer.exe
程序的功能有两个,一个是启动我们要自启动的程序,一个用来启动原有的explorer.exe程序
自然也可以将我们要启动的程序的代码直接添加在explorer.exe的头部或者尾部,头部再添加一个代码用来对这个添加完成的最终文件进行切割,切割成两个可执行程序,一个是我们要启动的程序,一个是原有的explorer.exe程序,再分别调用它们
该方法同样也可以用在linux系统上或者其它系统上

总之开机自启的方法有很多
但不同的操作系统的具体方法却不同

(前面的地方没有做过任何修改,这里的地方专给认证人员的
我的答案完全自己手写,请将你认为我是复制粘贴来的地址给我,谢谢)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式