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


本文整理自网络,侵删。

 

这段Delphi代码可以用来控制键盘上的某一个键的按下和释放操作,比如你希望从软件模拟按下Print Screen按键对屏幕截图,可以使用这个程序。

 

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] = 0) ) or

   ( (Bo = False) and (keyState[VK_SCROLL]  0) ) then

      Begin

      // Simulate a depress

      keybd_event(VK_SCROLL,45,KEYEVENTF_EXTENDEDKEY,0);

      // Simulate a release

      keybd_event(VK_SCROLL,45,KEYEVENTF_EXTENDEDKEY + KEYEVENTF_KEYUP,0);

      End;

End;

//----------------------------------------------------------------------

Procedure TForm1.SetScrollLockBtnClick(Sender: TObject);

 

Begin

SetNumLock(TRUE);

End;

//----------------------------------------------------------------------

Procedure TForm1.ReleaseScrollLockBtnClick(Sender: TObject);

 

Begin

SetNumLock(FALSE);

End;

//----------------------------------------------------------------------

End. {of Unit1}

//======================================================================

//该代码片段来自于: http://www.sharejs.com/codes/delphi/8739

相关阅读 >>

Delphi tnethttpclient上传文件

Delphi xe8在firemonkey tlistbox中显示图像

我的Delphi开发经验谈

Delphi windows 编程[11] - wm_size 消息

Delphi 复制文件到剪贴板

Delphi复制文件夹内所有文件

Delphi 得到ip三个值

Delphi 得到文件创建时间,修改时间,访问时间

Delphi获得webbrowser中的html文本

Delphi 选择文件夹对话框 (有新建文件夹按钮)修正版

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...