Delphi中如何实现模拟组合按键,如发送Ctrl+F的按键
利用 keybd_event函数可实现,如下面的代码用以实现在一个公共菜单中模拟Ctrl_F按钮以调用DBGridEH的查找对话框功能:
这是在一个ActionList中的某一Action的OnExecute事件代码。
procedure TDM.act_LocateExecute(Sender: TObject);
var
myPopupMenu:TPopupMenu;
MyDBGridEH:TDBGridEh;
begin
//ShowMessage(TMenuItem(TAction(Sender).ActionComponent).GetParentComponent.Name);
if (TAction(Sender).ActionComponent).GetParentComponent is TPopupMenu then
myPopupMenu := (TAction(Sender).ActionComponent).GetParentComponent as TPopupMenu
else
Exit;
//ShowMessage(MyPopupMenu.PopupComponent.Name);
if (MyPopupMenu.PopupComponent is TDBGridEh) then
begin
MyDBGridEH := TDBGridEh(MyPopupMenu.PopupComponent);
MyDBGridEH.SetFocus;
keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), 0, 0); //按下Ctrl键
keybd_event(ord('F'), MapVirtualKey(ord('F'), 0), 0, 0); //按下F键
keybd_event(ord('F'), MapVirtualKey(ord('F'), 0), KEYEVENTF_KEYUP, 0); //放开F键
keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), KEYEVENTF_KEYUP, 0); //放开Ctrl键
end;
end;
Delphi中如何实现模拟组合按键,如发送Ctrl+F的按键的更多相关文章
- Delphi中一些常用的组合键值
Delphi中一些常用的组合键值 CTRL+A: #1 CTRL+B: #2 CTRL+C: #3 CTRL+D: #4 CTRL+E: #5 CTRL+F: #6 CTRL+G: #7 ...
- delphi中的idhttpserver如何才能收到idhttp发送来的exe\rar文件呢
http://zhidao.baidu.com/link?url=-q2oXqYCKBZ9OgFDEHAcQwQEY_NroHcqGvVfKW67X5sF9LdjAAB_HPXQo04VxStFVS7 ...
- Delphi 中的全局快捷键+给指定窗体发送按键
[背景] 公司做视频影像采集,平时采集图像的时候都需要打开采集窗口,然后需要开着采集窗口来进行图像采集.同事问我能不能做一个全局快捷键,哪怕我没有操作也可以采集图像.说干就干,一直想做全局快捷键了,网 ...
- [Linux]在linux中,常常用到ctrl和其他按键组合,常用的有哪些及意义呢
在linux中,常常用到ctrl和其他按键组合,常用的有哪些及意义呢? Ctrl+c 结束正在运行的程序 Ctrl+d 结束输入或退出shell Ctrl+s 暂停屏幕输出[锁住终端] Ctrl+q ...
- Delphi驱动方式WINIO模拟按键 可用
http://www.delphitop.com/html/yingjian/152.html Delphi驱动方式WINIO模拟按键 作者:admin 来源:未知 日期:2010/2/1 1:14: ...
- Delphi下利用WinIo模拟鼠标键盘详解 有参考价值
https://blog.csdn.net/fgrass_163/article/details/6365296 Delphi下利用WinIo模拟鼠标键盘详解 2011年04月26日 21:03:00 ...
- 谈Delphi中SSL协议的应用(好多相关文章)
摘要:本文主要介绍如何在Delphi中使用SSL协议.一共分为七个部分:(1)SSL协议是什么?(2)Delphi中如何使用SSL协议?(3)SSL客户端编程实例.(4)SSL服务端编程实例.(5)S ...
- DELPHI中IDE宏录制小用
用DELPHI的宏可以做一些非常简便的工作, 它是记录键盘的动作,如果我们将一些有规律的动作,用宏来进行操作,就可以达到事半功倍的效果,前提是编写的代码风格比较整洁. 宏是以Ctrl + Shift ...
- 老陈---谈Delphi中SSL协议的应用[转]
摘要:本文主要介绍如何在Delphi中使用SSL协议.一共分为七个部分:(1)SSL协议是什么?(2)Delphi中如何使用SSL协议?(3)SSL客户端编程实例.(4)SSL服务端编程实例.(5)S ...
随机推荐
- python 爬虫--同花顺-使用代理
1.http://www.goubanjia.com/ 在上面获取 使用http协议的公网IP和端口 参考:https://blog.csdn.net/qq_23934063/article/det ...
- WCF来传递DataTable的Bug
Wcf,客户端与服务器之间在传递DataTable(由于数据库字段不确定暂时用DataTable而不是用实体对象传递)时,发现有的DataTable可以直接传递没有问题 解决方案: DataTable ...
- Django Rest Framework源码剖析(四)-----API版本
一.简介 在我们给外部提供的API中,可会存在多个版本,不同的版本可能对应的功能不同,所以这时候版本使用就显得尤为重要,django rest framework也为我们提供了多种版本使用方法. 二. ...
- 20155211 Exp5 MSF基础应用
20155211 Exp5 MSF基础应用 基础问题回答 用自己的话解释什么是exploit,payload,encode? exploit:漏洞攻击.一个exploit程序肯定会触发系统的一个或多个 ...
- 20155317王新玮《网络对抗》Exp2 后门原理与实践
20155317王新玮<网络对抗>Exp2 后门原理与实践 一.实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划 ...
- 连接到win2003的远程桌面,客户端要如何操作
第一步:命令行执行mstsc 第二步:处输入开启了远程桌面功能的计算机IP地址.
- python基础学习1-列表使用
python 列表相关操作方法 namelist = ['a','b','c','d','1','2','3','4'] namelist1 = ['a','b','c','d','1','2','3 ...
- Kubernetes学习之路(二十二)之Pod资源调度
目录 Pod资源调度 1.常用的预选策略 2.优选函数 3.节点亲和调度 3.1.节点硬亲和性 3.2.节点软亲和性 4.Pod资源亲和调度 4.1.Pod硬亲和度 4.2.Pod软亲和度 4.3.P ...
- SpringCloud+Boot简单例子笔记
一.spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选.分布式会话等等.它运 ...
- kafka0.8--0.11各个版本特性预览介绍
kafka-0.8.2 新特性 producer不再区分同步(sync)和异步方式(async),所有的请求以异步方式发送,这样提升了客户端效率.producer请求会返回一个应答对象,包括偏移量或者 ...