04使用程序模拟键盘输入

void CSimulateKeyDlg::OnInput() 
{
	// TODO: Add your control notification handler code here
	static BOOL bChangeFlag=TRUE;
	if(bChangeFlag)
	{
		SetTimer(1,500,NULL);//设置定时器
		bChangeFlag =bChangeFlag ? FALSE:TRUE;
		GetDlgItem(IDC_INPUT)->SetWindowText("停止输入");//设置按钮文本
	}
	else
	{	GetDlgItem(IDC_INPUT)->SetWindowText("模拟输入");//设置按钮文本
		KillTimer(1);//取消定时器
		bChangeFlag =bChangeFlag ? FALSE:TRUE;
	}
	
}

void CSimulateKeyDlg::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	static int count=0;
	BYTE keyname[11]={72,69,76,76,79,32,87,79,82,76,68};//按键序列的虚拟键码
	if(nIDEvent==1)
	{	
		m_ctlEdit.SetFocus();	//编辑框获得输入焦点
		keybd_event(keyname[count],0,0,0); //按键按下
		keybd_event(keyname[count],0,KEYEVENTF_KEYUP,0);//按键抬起
		count++;
		if(count==12)
		{
			m_ctlEdit.SetWindowText("");//情况编辑框
			UpdateData(FALSE);	
			count=0;
		}
	}
	
	CDialog::OnTimer(nIDEvent);
}

你可能感兴趣的:(04使用程序模拟键盘输入)