Delphi 判断按键状态

http://blog.sina.com.cn/s/blog_54da9cc001015di1.html

(2012-04-05 14:22:50)

标签:

杂谈

分类: Delphi

调用GetKeyState(nVirtKey:integer)函数,可以判断是否按下了Alt、Ctrl、Shift键,如果函数返回值<0则表示按下了。 参数: nVirtKey     指定一个键。如果指定字母或数字键,nVirtKey 必须为该字符的 ASCII 码值。如:判断‘a’键是否按下使用GetKeyState(65),65是字符‘a’的ASCII码值,关于字符的ASCII码值请参考有关资料。Alt、Ctrl、Shift键使用下面的常量,而不使用ASCII码值。
VK_SHIFT Shift键
VK_CONTROL Ctrl键
VK_MENU Alt键 例子: function Shift_down():boolean; //判断是否按下shift键,如果按下返回True,否则返回False begin
if GetKeyState(VK_SHIFT)<0 then Result:=True else Result:=False; end;
function Alt_down():boolean; //判断是否按下Alt键,如果按下返回True,否则返回False begin
if GetKeyState(VK_MENU)<0 then Result:=True else Result:=False; end;
function Ctrl_down():boolean; //判断是否按下Ctrl键,如果按下返回True,否则返回False begin
if GetKeyState(VK_CONTROL)<0 then Result:=True else Result:=False; end;

Delphi 判断按键状态的更多相关文章

  1. delphi 判断调试状态

    DebugHook 该变量在调试状态下值为1,运行模式为0,例如,我们可以使用如下的代码来简单控制: if DebugHook=0 then

  2. Java Swing类 颜色、按键状态判断例子代码

    package rom; import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.ActionEvent; ...

  3. 【iCore4 双核心板_ARM】例程二:读取ARM按键状态

    实验原理: 按键的一端与STM32 PB9相连,另外一端接地,且PB9外接一个1K电阻大小的上拉电阻, 初始化时把PB9设置成输入模式,当按键弹起时,PB9由于上拉电阻的作用呈高电平(3.3V): 当 ...

  4. AVR单片机教程——按键状态

    好久没更新了,今天开始继续,争取日更. 今天我们来讲按键.开发板的右下角有4个按键,按下会有明显的“咔嗒”声.如何检测按键是否被按下呢?首先要把按键或直接或间接地连接到单片机上.与之前使用的4个LED ...

  5. [VB.NET]调用API获取/设置键盘按键状态

    1.调用GetAsyncKeyState()获取指定按键的状态,GetActiveKey()检索指定范围内的按键状态 2.调用keybd_event()可合成一次击键事件,通常两次击键事件间需要设定时 ...

  6. [moka同学笔记]YII2.0 判断签约状态,sql的两种查询方法

    方法一: //判断签约状态 $signed = 0; $sql="SELECT * from usho_community_sign_record WHERE com_id=$r->i ...

  7. delphi 判断是否出现滚动条

    delphi 判断是否出现滚动条     if (GetWindowlong(Stringgrid1.Handle, GWL_STYLE) and WS_VSCROLL) <> 0 the ...

  8. 用74HC165读8个按键状态(转)

    源:用74HC165读8个按键状态 //-------------------------------------------------------------------------- //来源: ...

  9. [VB.NET][C#]调用API获取或设置键盘按键状态

    前言 通过 C# 或 VB.NET,你只需编写少量的代码即可实现一个按键精灵. 第一节 接口 调用系统 API 实现获取或设置指定的按键状态. 获取按键状态 调用 GetAsyncKeyState() ...

随机推荐

  1. FileUtils.writeByteArrayToFile方法

    FileUtil类是Apache Commons IO库里面的一个类,是与文件相关的一个辅助类,我写了一个可运行的java文件 import java.io.*; import org.apache. ...

  2. JavaScript运算符及语句

    ECMAScript 算术运算符 加,减,乘,除,-号可以表示负号 递增(++),递减(--) 两种写法:例:i++,i--,++i,--i,区别是运算符放在前面是先计算后输出,运算符放在后面先输出再 ...

  3. 校内题目T2691 桶哥的问题——送桶

    这是一道校内题目,但迷路的蒟蒻们同样被欢迎来此学习QWQ 题目描述: 题目背景 @桶哥本校——皎月pks大佬OrzOrz 买完了桶,桶哥要去送桶. 题目描述 桶哥买了nn个桶, 他要将这些桶送去nn个 ...

  4. django middleware介绍

    Middleware Middleware是一个镶嵌到django的request/response处理机制中的一个hooks框架.它是一个修改django全局输入输出的一个底层插件系统. 每个中间件 ...

  5. Python修炼之路-Socket

    网络编程 socket套接字 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过“套接字”向网络发出请求或者应答网络请求. socket ...

  6. linux 环境下安装MySQL5.7(yum)

    安装环境: CentOS7 64位,MySQL5.7 原文链接:https://blog.csdn.net/xyang81/article/details/51759200 1. 配置yum源 在My ...

  7. 读取xml文件中的配置参数实例_java - JAVA

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 paras.xml文件 <?xml version="1.0" encoding=" ...

  8. 关于python pip安装第三方库 jieba 中文分词工具后提示"ImportError: cannot import name 'Random'"报错问题

    具体错误提示如下: >>> import jieba Traceback (most recent call last): File "<stdin>" ...

  9. VSCode编辑器用户设置

    {"gitlens.advanced.messages": {"suppressCommitHasNoPreviousCommitWarning": false ...

  10. 【Leetcode】2的幂(整数的二进制形式,与运算)

    class Solution { public: bool isPowerOfTwo(int n) { ) return false; )) == ; } }; 注: 1) 2的幂函数,其y值大于0: ...