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

时间:2021-05-20

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

#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;}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章