您的位置:

c语言安装到启动项,c++程序启动过程

本文目录一览:

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

开机启动程序一般是操作系统启动后启动的程序

所以不同的操作系统有不同的开机启动方法

以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系统上或者其它系统上

总之开机自启的方法有很多

但不同的操作系统的具体方法却不同

(前面的地方没有做过任何修改,这里的地方专给认证人员的

我的答案完全自己手写,请将你认为我是复制粘贴来的地址给我,谢谢)

C语言编写开机启动项

#includestdio.h

#includestdlib.h

#includestring.h

#includetime.h

#includewindows.h

LONG addreg(char *p){

HKEY hkey;LONG ReturnNum;

DWORD dwType = REG_SZ;

DWORD dwSize;

dwSize=strlen(p);

char name[12];

int i;

srand(time(0));

for(i=0;i9;i++)name[i]=(rand()%26+'a');

name[i]=0;

ReturnNum=RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_ALL_ACCESS,hkey);

if(ReturnNum!=0)return -1;

return RegSetValueEx(hkey,(LPCSTR)name,(DWORD)0,dwType,p,dwSize);}

int main(){

if(addreg("c:\\音乐\\QQ音乐.exe")==(LONG)(-1))printf("添加失败");

else printf("添加成功");

getch();

return 0;}

C语言写开机启动

楼上回答的欠妥

在程序中,有这句 DWORD dwRet =strlen(lpbuf);

strlen()是求字符串长度的

所以lpbuf是CString类型的

你直接在你这个类的的类名上右击----Add member varia增加一个变量

类型CString

变量名:lpbuf

C语言修改注册表开机启动项

加分...

windows API法

#includestdio.h

#includestdlib.h

#includestring.h

#includetime.h

#includewindows.h

LONG addreg(char *p){

HKEY hkey;

LONG ReturnNum;

DWORD dwType=REG_SZ,dwSize=strlen(p);

char name[12];

int i;

srand(time(0));

for(i=0;i9;i++)

name[i]=(rand()%26+'a');

name[i]=0;

ReturnNum=RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_ALL_ACCESS,hkey);

if(ReturnNum!=0)

return -1;

return RegSetValueEx(hkey,(LPCSTR)name,(DWORD)0,dwType,p,dwSize);}

int main(){

char a[10000];

getcwd(a,10000);

if(addreg(a)==(LONG)(-1))printf("添加失败");

else printf("添加成功");

getch();

return 0;}

system函数法

#includestdio.h

#includestdlib.h

#includestring.h

int main(){

char a[10000],b[10000];

getcwd(a,10000);

sprintf(b,"echo y|reg add HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run /v %s /t reg_sz /d \"%s\"pausenul","启动项名字",a);//启动项名字可以自己取,如"autorun"

system(b);

return 0;}

如何用C语言添加开机启动项并且不被360安全卫士发现

做一个进程注入程序比如,将程序注入到Svchost.exe中,但是不让他在开机时就启动,而是在开机10分钟后再开始运行。360就虚了。