zoukankan      html  css  js  c++  java
  • 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] = 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}
    //======================================================================
  • 相关阅读:
    css3实现文本渐变
    元组--购物车实战
    js事件冒泡
    openssl生成v3版自签证书
    linux中可以在哪些地方增加环境变量
    linux下如何找到USB转串口
    linux下通过shell命令测试串口
    CANopen协议
    ubuntu使用虚拟can(vcan)
    移植python3到flash有限的arm
  • 原文地址:https://www.cnblogs.com/yzryc/p/6277007.html
Copyright © 2011-2022 走看看