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}
//======================================================================
Delphi 操作键盘按下和释放操作的更多相关文章
- Delphi的分配及释放---New/Dispose, GetMem/FreeMem及其它函数的区别与相同
转载自:http://www.cnblogs.com/qiusl/p/4028437.html?utm_source=tuicool 我估摸着内存分配+释放是个基础的函数,有些人可能没注意此类函数或细 ...
- delphi.memory.分配及释放---New/Dispose, GetMem/FreeMem及其它函数的区别与相同
我估摸着内存分配+释放是个基础函数,有些人可能没注意此类函数或细究,但我觉得还是弄明白的好. 介绍下面内存函数前,先说一下MM的一些过程,如不关心可忽略: TMemoryManager = recor ...
- Delphi中关于资源释放(Free,Relealse,FreeAndNil)
根据日常编程经验,得出一些Delphi中关于资源释放的体会. 假如有对象Obj为TObject类型: 1) Obj.Free直接释放资源后,调用OnDestroy事件,但是没有将Obj指针值置为Nil ...
- delphi.memory.分配及释放---New/Dispose, GetMem/FreeMem及其它函数的区别与相同,内存分配函数
来自:http://www.cnblogs.com/qiusl/p/4028437.html?utm_source=tuicool&utm_medium=referral ---------- ...
- Delphi关于记录文件的操作
http://www.cnblogs.com/railgunman/archive/2010/08/16/1801004.html Delphi关于记录文件的操作 本例子几个变量的说明TFileR ...
- delphi record 内存怎么释放
delphi record 内存怎么释放 是不需要释放的,除非你使用指针方式生成的.
- using可以用于释放操作,相当于Dispose()
using可以用于释放操作,相当于Dispose()
- Delphi对ini文件的操作
一.INI文件的结构:; 注释[小节名]关键字=值 INI文件允许有多个小节,每个小节又允许有多个关键字, “=”后面是该关键字的值. 值的类型有三种:字符串.整型数值和布尔值.其中字符串存贮在INI ...
- Delphi 的接口机制——接口操作的编译器实现过程(1)
学习COM编程技术也快有半个月了,这期间看了很多资料和别人的程序源码,也尝试了用delphi.C++.C#编写COM程序,个人感觉Delphi是最好上手的.C++的模版生成的代码太过复杂繁琐,大量使用 ...
随机推荐
- POJ2392 Space Elevator
题目:http://poj.org/problem?id=2392 一定要先按高度限制由小到大排序! 不然就相当于指定了一个累加的顺序,在顺序中是不能做到“只放后面的不放前面的”这一点的! 数组是四十 ...
- ERROR 1130 (HY000): Host '192.168.20.165' is not allowed to connect to this MySQL server
问题 远程连接mysql时遇到如下问题: ERROR 1130 (HY000): Host '192.168.20.165' is not allowed to connect to this MyS ...
- 最新hadoop虚拟机安装教程(附带图文)
前两天看到有人留言问在什么情况下需要部署hadoop,我给的回答也很简单,就是在需要处理海量数据的时候才需要考虑部署hadoop.关于这个问题在很早之前的一篇分享文档也有说到这个问题,数据量少的完全发 ...
- Hibernate对substring和cast的支持问题
http://blog.sina.com.cn/s/blog_8acd9e4b0102uwev.html Hibernate对substring和cast的支持问题 问题:要比较日期的范围...这是只 ...
- BASIC-5_蓝桥杯_查找整数
示例代码: #include <stdio.h>#include <stdlib.h> int main(void){ int n = 0 , key = 0 , count ...
- numpy的flat、flatten、ravel
import numpy as np dt = np.arange(10).reshape(5,2) # =============================================== ...
- 在控制终端输入AT命令
控制台终端输入AT命令到smd8,步骤如下: 1. 先执行命令 cat /dev/smd8 & 2. 再执行 echo -e "ati\r\n" > /dev ...
- javascript创建对象之稳妥构造函数模式(七)
所谓稳妥对象,指的是没有公共属性,而且其方法也不引用this的对象.稳妥对象最适合在一些安全的环境中(禁止使用this和new)或者在防止数据被其他应用程序改动时. 稳妥构造函数模式有2个特点:1.新 ...
- [jni]Getting Started
写一个java应用程序来调用C函数打印“Hello World!" 这个过程包括以下步骤: 1:创建一个申明了native方法的java类(HelloWorld.java): 2:使用jav ...
- CentOS 6.4 i386 版本安装 FastDFS、使用Nginx作为文件访问WEB服务器
安装环境:1. CentOS-6.4-i3862. FastDFS_v4.063. fastdfs-nginx-module_v1.154. Nginx-1.5.6(安装见此)5. libevent- ...