精华内容
下载资源
问答
  • 程序比较简单,用到了C语言获得自身路径和系统路径,修改注册表项等,某些函数不理解可以查看MSDN #include #include char *GetFilename(char *p) //得到一个路径的纯文件名 { int x=strlen(p); char ch='\\\\'; ...
  • C语言设置程序开机自启动

    千次阅读 2019-11-06 20:18:18
    ``当需要使某一程序在开机时就启动它,需要把它写进注册表的启动项中。 下面就展示一种简单的写法: #include <windows.h> #include <stdlib.h> #include <stdio.h> void ComputerStart(char *...

    ``当需要使某一程序在开机时就启动它,需要把它写进注册表的启动项中。
    下面就展示一种简单的写法:

    #include <windows.h>
    #include <stdlib.h>
    #include <stdio.h>
    
    void ComputerStart(char *pathName)
    {
    	//找到系统的启动项 
    	char *szSubKey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";
    	HKEY hKey;
    
    	//打开注册表启动项 
    	int k = RegOpenKeyExA(HKEY_CURRENT_USER, szSubKey, 0, KEY_ALL_ACCESS, &hKey);
    	if (k == ERROR_SUCCESS)
    	{
    		//添加一个子Key,并设置值,MyStart为启动项名称,自定义设置;
    		RegSetValueEx(hKey, "MyStart", 0, REG_SZ, (BYTE *)pathName, strlen(pathName));
    		//关闭注册表
    		RegCloseKey(hKey);
    		printf("设置成功\n");
    	}
    	else
    	{
    		printf("设置失败  error:%d\n", k);
    	}
    }
    
    int main()
    {
    	char pathName[MAX_PATH];//文件名字最大260个字符  MAX_PATH  260
    	GetCurrentDirectory(MAX_PATH, pathName);//设置字符集为多字节字符集  获取当前文件路径
    
    	sprintf(pathName, "%s\\", pathName);
    	strcat(pathName, "1234.exe");//找到需要开机自启动的程序
    
    	ComputerStart(pathName);
    
    
    	system("pause");
    	return 0;
    }
    

    将该程序放在你所需要开机自启的程序目录下,便可将你所需要的程序写进注册表。该程序具有可移植性,切勿恶搞他人电脑!!!
    在某些情况下也会出现写入失败的问题,根据RegOpenKeyExA函数所返回的错误代码查询错误情况,一般都是注册表路径有误或者没有权限。在项目属相中选择配置属性->链接器->清单文件->UAC执行级别-> requireAdministrator (/level='requireAdministrator),如下图所示:
    在这里插入图片描述

    如何检查是否将某一程序写进了注册表呢?Win+R键,输入msconfig,在所出现的窗口中选顶端的启动栏,便可查看MyStart是否下进了注册表启动项。或者打开任务管理器,在启动栏中也可查看。
    注册表是windows一个重要的数据库,一般情况下不要将某些程序放进注册表,不仅会增长开机时间,而且对某些恶意程序提供了可乘之机。

    展开全文
  • c语言 程序开机自启

    万次阅读 2018-09-13 09:46:56
    终于搞定c语言开机自启的实现 (吐槽: 网上文章真是”瓜皮”,bug奇多) 原理: windows 开机会检索注册表,其中有一项 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run 是微软 定义的...

    闲来无事,研究下c 语言制作病毒,刚好涉及开机自启,遂写下该文章
    在查阅N多资料和Google后
    终于搞定c语言开机自启的实现
    (吐槽: 网上文章真是"瓜皮",bug奇多)

    原理:
    windows 开机会检索注册表,其中有一项

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
    是微软 定义的开机程序检索表
    利用windows api 函数修改该注册表即可实现开机启动程序

    我们手动实现一下:
    1、点击开始——运行,输入regedit打开注册表
    2、找到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”打开后,
    点右键 新建-字符串值,输入任意名称,然后右击该名称-修改,
    在“数值数据”栏输入你要自动启动的应用程序文件所在的完整路径的文件名


    活不多说,开码

    需要以下头文件

    	#include <Windows.h>
    	#include <stdio.h>
    

    函数主题如下:

    void HKRunator(char *programName)   //程序名称(**全路径**)
    {
    	HKEY hkey = NULL;
    	DWORD rc;
    
    	rc = RegCreateKeyEx(HKEY_LOCAL_MACHINE,                      //创建一个注册表项,如果有则打开该注册表项
    		"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",
    		0,
    		NULL,
    		REG_OPTION_NON_VOLATILE,
    		KEY_WOW64_64KEY | KEY_ALL_ACCESS,    //部分windows系统编译该行会报错, 删掉 “”KEY_WOW64_64KEY | “” 即可
    		NULL,
    		&hkey,
    		NULL);
    
    	if (rc == ERROR_SUCCESS)   
    	{
    		rc = RegSetValueEx(hkey, 
    			"UStealer",
    			0,
    			REG_SZ,
    			(const BYTE *)programName,
    			strlen(programName));
    		if (rc == ERROR_SUCCESS)
    		{
    			RegCloseKey(hkey);
    		}
    	}
    }
    

    如需调用该函数,传入程序全路径名即可。

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

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

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

    #include

    #include

    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语言程序做成windows服务开机自启动目前写的程序是一个用c语言实现socket侦听的,那么如何把这个程序做成开机自启动呢?我们是通过vs6.0,编译后生成了.exe文件,然后对这个exe文件进行开机自启动...

    原文:

    如何把一个c语言程序做成windows服务开机自启动

    目前写的程序是一个用c语言实现socket侦听的,那么如何把这个程序做成开机自启动呢?

    我们是通过vs6.0,编译后生成了.exe文件,然后对这个exe文件进行开机自启动设置。具体设置步骤如下:

    第一,注册服务名称。

    (1)下载Instsrv.exe和srvany.exe两个文件。并将其拷贝到C:\WINDOWS文件夹下。

    (2)执行命令。C:\WINDOWS>instsrv hope c:\WINDOWS\srvany.exe

    这里,我要添加的服务名称叫做hope.此时会提示以下信息:

    Make sure that you go into the Control Panel and use

    the Services applet to change the Account Name and

    Password that this newly installed service will use

    for its Security Context.

    第二, 找关联。

    (1)要让hope服务正常运行,必须在注册表中指定该服务对应的应用程序。运行regedit.

    找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,此处有我们刚刚创建的hope服务。

    (2)点击hope,选择“新建”-》“项”,将其命名为Parameters.

    选定Parameters,在右侧窗口新建一个名为Application的字符串值,将其数值数据设置为hope服务对应的应用程序绝对路径,比如:D:\SDTEL\test\Debug\test.exe.

    (3)接着在创建两个字符串值:AppDirectory和AppParameters.其中AppDirectory指定程序所在的目录【此处即为:D:\SDTEL\test\Debug】,AppParameters指明程序的运行参数,当然如果没有的话,这个的值可以空着不写【此处,我的main函数就没有传参,所以空着就醒了,不用写】。

    配置完图片如下:

    c238bd7884c7411f7b074bf60dae76f3.png

    (4)接下来,打开“服务”,找到刚才添加的hope服务,打开其属性对话框,选择“登录”选项卡,

    “登录身份”中选中“本地系统账户”,如果不想让服务在运行的时候弹出状态窗口,不要勾选“允许服务于桌面交互”的复选框,点击确定。【注意,在我们这里我们是需要看到控制台打印出来的东西的,这里的复选框我们需要选中。】

    配置图片如下:

    c238bd7884c7411f7b074bf60dae76f3.png

    (5)点击确定后,启动服务即可。

    展开全文
  • 反正就是用不了,于是重新在网上下载了一个,下载完成后开了几次电脑突然才意识到每次运用输入法都要提前运行这个程序,就觉得很麻烦,自己翻了下资料,弄了个自启动的小程序解决一下。#include #include void main...
  • c语言开机自启程序

    2020-02-07 10:39:04
    开机自启的文件目录为HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 在这里面能看所有的开机自启的软件。 而想要自己添加开机自启的软件只需要在右侧空白处右键添加字符串值即可 然后在里面...
  • 在CentOS7中,实现开机启动程序主要有两种方法:1)把要启动的程序配置成自定义的系统服务,该方法我已经介绍过,请阅读:CentOS7添加自定义系统服务。2)在/etc/rc.local脚本文件中编写启动程序的脚本,本文将详细...
  • 一、编写需要启动的程序 方法1——直接在.bashrc中加入 1.终端输入 gedit ~/.bashrc 2.在.bashrc文件末端加入: cd 路径 ./可执行文件名 此外,需要设置sudo密码的,可以: gnome-terminal -x bash -c "cd 路径;...
  • 因为我们从学C语言开始,都会先明白这个道理,即C语言有且仅有一个main函数,main函数是C语言的入口点和出口点!(可以)不光C语言如此,C++也如此,甚至无论黑窗口的控制台程序和Windows应用程序,都是从main函数或者...
  • #include #pragma comment(lib,"Advapi32.lib")void CreateStringReg(HKEY hRoot,char *szSubKey,char* ValueName,char *Data){HKEY hKey;//打开注册表键,不存在则创建它long lRet=RegCreateKeyEx(hRoot,szSubKey,0...
  • C语言 设置程序自启

    2019-05-07 00:30:51
    // 设置开机自启 // 成功1, 失败0 int SetRun ( char * path , char * msg ) { # define CHK(a) if(a!=ERROR_SUCCESS) return 0; # define REGISTER "Software\\Microsoft\\Windows\\Current...
  • C语言写一个简单的开机自启动关机小程序 对于我们这些刚学C语言的小白们来说,一个简单且有趣的小程序可以极大的提高我们对C语言的兴趣,而今天我学到了一个开机的时候自启动的一个关机小程序 #include &amp...
  • 主要介绍了C#实现将应用程序设置为开机启动的方法,涉及C#针对注册表的写入技巧,具有一定参考借鉴价值,需要的朋友可以参考下
  • 以前我时常在想,怎么能在Android系统中用C语言来编写应用程序呢?Android系统上的应用程序不都是Java应用程序吗?其实是可以的,读者不妨用adb shell命令连上Android模拟器,在/system/bin目录下可以看到很多C可...
  • 如果人工手动启动机器人,当给机器人加电时候,我们需要ssh到机器人端,然后启动激光的驱动launch文件,机器人启动的launch文件,导航的launch文件等,这对机器人的操作很不方便。 登录turtlebot workstation@...
  • linux设置开机自启动

    2021-05-13 07:36:40
    、在/etc/rc.local文件中添加自启动命令执行命令: 编辑"/etc/rc.local",添加你想开机运行的命令运行程序脚本:然后在文件最后一行添加要执行程序的全路径。例如,每次开机时要执行一个hello.sh,这个脚本放在/usr...
  • C语言:获取开机时间

    2019-05-31 21:57:12
    获取开机时间要用到 GetTickCount() 这个 API,功能是获取重系统开始到运行时的时间。 代码如下: #include<stdio.h> #include<windows.h> int main() { DWORD k = GetTickCount(); int s = k...
  • C语言实现程序开机自启动程序比较简单,用到了C语言获得自身路径和系统路径,修改注册表项等,某些函数不理解可以查看MSDN#include#includechar *GetFilename(char *p) //得到一个路径的纯文件名{int x=strlen(p);...
  • \", \"extras\": \"\", \"created_time\": ①④⑦⑥⑧⑤①①⑥② · \"type\": \"answer 编后语:关于《在LINUX下如何设置网卡开机自启动?linux环境下用c语言》关于知识就介绍到这里,希望本站内容能让您有所收获,...
  • C++ 开机自启动程序

    千次阅读 2019-07-03 10:08:50
    :https://blog.csdn.net/weixin_43178927/article/details/82683063 原理: windows 开机会检索注册表,其中有一项 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run 是微软 定义的开机...
  • init.cppAOSP/system/core/init/init.cppSurfaceFlinger是由init进程启动的int main(int argc, char** argv) {...if (bootmode == "charger") {am.QueueEventTrigger("charger");} else {am.QueueEventTrigger("late...
  • 由于项目要求Qt的程序实现开机自动启动功能,本人找了很多网站测试后都实现不了,最后找到了一个成功的,在这里分享一下。 首先说一下我自己的配置:Ubuntu 16.04 ,Qt4.5.0(项目要求,经测试版本高于这个的没有...
  • STC单片机内部EEPROM记录开机次数(c语言)/*STC单片机内部EEPROM八位数码管显示开机次数。本文档仅以学习交流之用。*/#include#includetypedef unsigned char BYTE;typedef unsigned int WORD;sfr IAP_DATA =0XE2;//...
  • 如何在安卓中写C语言程序,调试安卓驱动,测试程序的的一项重要技能,下面我就不说废话了,直接说实用的,怎么用这个东西。 关于这个问题,相信很多学Android的都会去关注这个问题,大家普遍会有个这样的疑问:安卓...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,702
精华内容 5,480
关键字:

c语言开机自启

c语言 订阅