使用WinAPI在Delphi中模拟键盘输入
发布时间:2020-12-15 04:29:56 所属栏目:大数据 来源:网络整理
导读:我需要以编程方式将一个字符输入Delphi网格的单元格(在其他应用程序中). 要手动执行此操作,需要执行以下步骤: 按F3按钮. 按右箭头键3次. 按空格键. 在键盘上键入字母’E’. 按右箭头键. // Press F3 button keybd_event(VK_F3,0); // Press right arrow key
我需要以编程方式将一个字符输入Delphi网格的单元格(在其他应用程序中).
要手动执行此操作,需要执行以下步骤: >按F3按钮. // Press F3 button keybd_event(VK_F3,0); // Press right arrow key 3 times keybd_event(VK_RIGHT,0); keybd_event(VK_RIGHT,0); // Press the space button keybd_event(VK_SPACE,0); // Type letter E keybd_event(Ord('E'),0); // Move to the right keybd_event(VK_RIGHT,0); 但它不起作用.当我运行此代码时,似乎没有任何事情发生. 我应该如何修改此代码,以便它实际模拟用户输入? 解决方法
每按一次按键,然后是按键.因此,每按一次键需要两次调用keybd_event.例如,要按F3:
keybd_event(VK_F3,KEYEVENTF_KEYDOWN,0); keybd_event(VK_F3,KEYEVENTF_KEYUP,0); 请注意,KEYEVENTF_KEYDOWN实际上并不是由Windows头文件或Delphi转换定义的.将它定义为0.它使代码更清晰明确地写出来. 当然,您不会通过对keybd_event的配对调用来丢弃您的代码.但相反,你会将配对的调用包装成一个辅助函数. 在某些情况下,您可能需要指定第二个参数,即扫描代码.但通常没有必要. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |