C语言实现程序开机自启动

2025-05-27 0 69

程序比较简单,用到了C语言获得自身路径和系统路径,修改注册表项等,某些函数不理解可以查看MSDN

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55
#include<stdio.h>

#include<windows.h>

char *GetFilename(char *p) //得到一个路径的纯文件名

{

int x=strlen(p);

char ch='\\\\';

char *q=strrchr(p,ch);

return q;

}

int main()

{

char *filepath;

char modlepath[256];

char syspath[256];

//打开酷狗应用

filepath="C:\\\\Program^ Files\\\\KuGou\\\\KGMusic\\\\KuGou.exe";

system(filepath);

//将程序移动到系统目录下

GetModuleFileName(0,modlepath,256); //获得自身路径

GetSystemDirectory(syspath,256); //得到系统路径

int ret=CopyFile(modlepath,strcat(syspath,GetFilename(modlepath)),1);//复制,CopyFile的第二个参数是目标文件名

if(ret)

{

printf("%s has been copyed to sys dir %s\\n",modlepath,syspath);

}

else

{

printf("%s is exists",modlepath);

}

//程序添加开机自启动

char regname[]="Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run";

HKEY hKey;

ret=RegOpenKey(HKEY_LOCAL_MACHINE,regname,&hKey); //打开注册表键

ret=RegSetValueEx(hKey,"MyProm",0,REG_EXPAND_SZ,(unsigned char*)strcat(syspath,GetFilename(modlepath)),25); //设置键值

if(ret==0)

{

printf("succes to write run key.\\n");

RegCloseKey(hKey);

}

else

{

printf("failed to open regedit.%d\\n",ret);

return 0;

}

return 0;

}

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 C语言实现程序开机自启动 https://www.kuaiidc.com/74874.html

相关文章

发表评论
暂无评论