Windows虚拟按键小程序

5 月 24th, 2009 | Posted by | Filed under 程序设计

本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明
网址: http://www.penglixun.com/tech/program/windows_vitual_keypress.html

可以用来骗客服说电脑坏了~呵呵
运行后会不断的虚拟按键。

#ifndef WINVER    // 允许使用特定于 Windows XP 或更高版本的功能。
#define WINVER 0x0501  // 将此值更改为相应的值,以适用于 Windows 的其他版本。
#endif

#ifndef _WIN32_WINNT  // 允许使用特定于 Windows XP 或更高版本的功能。
#define _WIN32_WINNT 0x0501 // 将此值更改为相应的值,以适用于 Windows 的其他版本。
#endif      

#ifndef _WIN32_WINDOWS  // 允许使用特定于 Windows 98 或更高版本的功能。
#define _WIN32_WINDOWS 0x0410 // 将此值更改为适当的值,以指定将 Windows Me 或更高版本作为目标。
#endif

#ifndef _WIN32_IE   // 允许使用特定于 IE 6.0 或更高版本的功能。
#define _WIN32_IE 0x0600 // 将此值更改为相应的值,以适用于 IE 的其他版本。
#endif

#define WIN32_LEAN_AND_MEAN  // 从 Windows 头中排除极少使用的资料


#include 
#include   
#include 
#include 
#include

#define KEYEVENTF_KEYDOWN 0x00

int main()
{
	KEYBDINPUT  ki=
	{'Z',MapVirtualKey('Z', 0),KEYEVENTF_KEYDOWN,0,0};

	INPUT inputs;

	inputs.type = INPUT_KEYBOARD;
	inputs.ki = ki;
	
	srand(time(NULL));
	
	while(true){
		SendInput(2,&inputs,sizeof(inputs));
		//这里sleep的时间得根据自己机子设置 最多sleep500足够了 我机子sleep100有时不行
		Sleep(1000*(rand()%6+1));//难道必须sleep?不能一次SendInput()?不是说SendInput发送的是流么
		//SendInput(2,&inputs[7],sizeof(inputs[0]));
	}

	return 0;
}
  1. eGaoYang
    5 月 24th, 200916:53

    客服告诉你说,我帮你重装个系统试试吧….

    [回复]

    P.Linux 回复:

    重装再偷偷点这个程序……嗯,换个机器吧~~~ :smile:

    [回复]