读书人

怎么实现按住空格2秒钟

发布时间: 2012-03-09 16:54:57 作者: rapoo

如何实现按住空格2秒钟?
要求中间不能间断。我搜索了一下,有人说其实物理键盘驱动也是通过短时间内多次发送消息来实现的,不知是否如此。
请这方面的高手给给出代码,实现按住空格的效果2秒钟。谢谢

[解决办法]

Delphi(Pascal) code
这样子应该可以,你也试试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;
[解决办法]
Delphi(Pascal) code
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秒结束线程,游戏都是用多线程的,也不会假死

读书人网 >.NET

热点推荐