如何实现按住空格2秒钟?
要求中间不能间断。我搜索了一下,有人说其实物理键盘驱动也是通过短时间内多次发送消息来实现的,不知是否如此。
请这方面的高手给给出代码,实现按住空格的效果2秒钟。谢谢
[解决办法]
这样子应该可以,你也试试procedure TForm1.Button1Click(Sender: TObject);begin keybd_event( 32, 0, 0, 0); timer1.Enabled:=true;end;procedure TForm1.Timer1Timer(Sender: TObject);begin keybd_event( 32,0, KEYEVENTF_KEYUP, 0); timer1.Enabled:=false; showmessage('2秒');end;
[解决办法]
procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);begin Memo1.Lines.Add('down');end;procedure TForm1.Memo1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);begin Memo1.Lines.Add('up')end;
[解决办法]
用线程+SendMessage
按下空格键后就启动线程,不停的发送空格键消息,2秒结束线程,游戏都是用多线程的,也不会假死