Delphi 操作键盘按下和释放操作

Unit Unit1;

Interface

Uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls; Type
TForm1 = Class(TForm)
ReleaseScrollLockBtn: TButton;
SetScrollLockBtn: TButton;
Procedure SetScrollLockBtnClick(Sender: TObject);
Procedure ReleaseScrollLockBtnClick(Sender: TObject);
Private
{ Private declarations }
Public
{ Public declarations }
End; Var
Form1 : TForm1; Implementation {$R *.DFM} //----------------------------------------------------------------------
// The Numlock key can be pressed this way under NT but NOT under W95!
// The ScrollLock and CapsLock can be pressed this way under NT and W95
// as well.
// You can also simulate a PrintScreen (SnapShot).
// See the Delphi help file for soft-pressing this key.
// (Set the blinking cursor in the word: "keybd_event" and press: "F1")
//----------------------------------------------------------------------
Procedure SetNumLock(Bo : Boolean); Var
keyState : TKeyBoardState; Begin
GetKeyboardstate(keyState);
// keyState[VK_SCROLL] = 0 means the led is off
// keyState[VK_SCROLL] 0 means the led is on
If ( (Bo = True) and (keyState[VK_SCROLL] = ) ) or
( (Bo = False) and (keyState[VK_SCROLL] ) ) then
Begin
// Simulate a depress
keybd_event(VK_SCROLL,,KEYEVENTF_EXTENDEDKEY,);
// Simulate a release
keybd_event(VK_SCROLL,,KEYEVENTF_EXTENDEDKEY + KEYEVENTF_KEYUP,);
End;
End;
//----------------------------------------------------------------------
Procedure TForm1.SetScrollLockBtnClick(Sender: TObject); Begin
SetNumLock(TRUE);
End;
//----------------------------------------------------------------------
Procedure TForm1.ReleaseScrollLockBtnClick(Sender: TObject); Begin
SetNumLock(FALSE);
End;
//----------------------------------------------------------------------
End. {of Unit1}
//======================================================================
上一篇:C#截取用户的点击事件的代码


下一篇:执行 apt-get -f install 提示错误