C语言实现程序开机自启动_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语言实现开机自启动、c语言开机自启动、易语言开机自启动、易语言开机自启动源码、哈夫曼编码c语言实现,以便于您获取更多的相关知识。

时间: 2024-10-31 04:46:44

C语言实现程序开机自启动_C 语言的相关文章

详解CentOS设置程序开机自启动的方法_Linux

在CentOS系统下,主要有两种方法设置自己安装的程序开机启动. 1.把启动程序的命令添加到/etc/rc.d/rc.local文件中,比如下面的是设置开机启动httpd. #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the fu

Android编程实现应用程序开机自启动的方法

本文实例讲述了Android编程实现应用程序开机自启动的方法.分享给大家供大家参考,具体如下: Android在开机时自动启动一个应用程序 在启动时自动启动一个应用程序: 1.AndroidManifest.xml <receiver android:enabled="true" android:name=".BootUpReceiver" android:permission="android.permission.RECEIVE_BOOT_COM

C语言入门的一些基本资源推荐和程序语法概览_C 语言

为什么要学习C语言? 为什么要学习.使用C语言?为什么要学习一个可能比自己都岁数大的编程语言? 选择一门编程语言,"为什么而学"这个目的是最重要的,目的不明确就没法学好.这也是为什么很多学生朋友在大学里必修C语言却觉得没学明白的原因.因为学习的目的不明确,学习当然也没有动力.还有一个原因是C语言是工程实践性很强的语言,它不是来自某个研究所某个大学学院,而是实实在在从项目需要中产生,伴随着Unix的兴起而流行,语义简明清晰,功能强大而不臃肿,简洁而又不过分简单,实在是居家旅行工作学习必备

在Linux下编译C或C++程序的教程_C 语言

从开始学习C/C++我们都在是windows下,那么如何(怎样)在linux中编译C/C++代码?在linux终端下(命令行中)编译译C/C++代码? 在任何linux分支下编译C/C++代码,如 Ubuntu ,Red Hat, Fedora ,Debian 以及其他linux分支上,我们需要安装一下软件包: 1.GNU C and C++ compiler collection 2.Development tools 3.Development libraries 4.IDE or text

C++抽奖程序实现方法_C 语言

本文实例讲述了C++抽奖程序实现方法.分享给大家供大家参考.具体实现方法如下: 一.int rand()可以生成从[0, 65536)之间均匀分布的随机数. 现要求实现:有30万员工,使用rand()写一个抽奖程序,抽出人100获奖. #include <iostream> #include <set> using namespace std; typedef set<int> ISET; ISET GetPridePersonId(const int num, con

C语言指针入门学习面面观_C 语言

这似乎是一个很凝重的话题,但是它真的很有趣. 1. 指针是指向某一类型的东西,任何一个整体,只要能称为整体就能拥有它自己的独一无二的指针类型,所以指针的类型其实是近似无穷无尽的 2. 函数名在表达式中总是以函数指针的身份呈现,除了取地址运算符以及sizeof 3. C语言最晦涩难明的就是它复杂的声明: void (*signal(int sig, void (*func)(int)))(int),试试着把它改写成容易理解的形式 4. 对于指针,尽最大的限度使用const保护它,无论是传递给函数,

C语言 基本语法示例讲解_C 语言

C 基本语法 我们已经看过 C 程序的基本结构,这将有助于我们理解 C 语言的其他基本的构建块. C 的令牌(Tokens) C 程序由各种令牌组成,令牌可以是关键字.标识符.常量.字符串值,或者是一个符号.例如,下面的 C 语句包括五个令牌: printf("Hello, World! \n");  这五个令牌分别是: printf ( "Hello, World! \n" ) ;  分号 ; 在 C 程序中,分号是语句结束符.也就是说,每个语句必须以分号结束.它

C语言单链表的实现_C 语言

单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素. 链表结构: SList.h #pragma once typedef int DataType; typedef struct SListNode { DataType data; struct SListNode* next; }SListNode; // 如果要修改链表就必须加引用 SListNode* _BuyNode(DataType x); //建立节点 void PrintSlist(SListNode

C语言时间处理实例分享_C 语言

一.简介 时间处理在编程中经常遇到,包括程序的运行时间和显示时间等.在标准C中, 日期和时间的处理包含在 time.h 的头文件中,需要使用日期和时间相关的类型的函数的话, 需要导入time.h. 二.实例 1.计算时差 #include <stdio.h> #include <sys/time.h> #include <unistd.h> int main() { struct timeval start, end; unsigned long spend_time;