首页 > 编程 > C > 正文

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

2020-02-24 14:24:29
字体:
来源:转载
供稿:网友

关于程序开机自启动的方法相信有很多小伙伴们都非常清楚的,但是对于一些新手们来说就不是那么简单了,下面我们就一起去看看C语言如何实现程序开机自启动的吧,感兴趣的朋友们一起来参考参考。

程序比较简单,用到了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;}

上文就是关于C语言如何实现程序开机自启动的内容,这个方法主要是通过C来获取程序路径修改注册表项来实现,很简单。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选