如何用Delphi程序实现按下了Shift、Alt、Ctrl键? (50分)

  • 主题发起人 主题发起人 kevin1779
  • 开始时间 开始时间
K

kevin1779

Unregistered / Unconfirmed
GUEST, unregistred user!
请问:

如何用Delphi程序实现按下了Shift、Alt、Ctrl键?

现在有不少文章介绍是否按下了这些快捷键,但没有看到相反过程的解析。

现在就遇到了这个问题,开发的ActiveX显示数据有连接,当打开新的一网页窗口时,不能

重新打开新的一页(代码中已经写了新开一页的),要按Shift键才可以。

可不可以用程序来代替人去按Shif键呢?用鼠标点击的同时也触发这个方法,这样

不就可以省去不少麻烦?期待您的回答!谢谢!
 
键盘消息可以用keybd_event来送,去查msdn
不过你要实现的功能是为了打开一个新窗口,这个好像不是你这样实现的,打开新的窗口有专门的html和命令吧
要不写象mwie和myie这类工具不都累死了
 
用shift键的键值:
postmessage(form1.handle,WM_KEYDOWN,Shift键的键值,0)
如模拟在edit组件中按下了字母a键:
postmessage(edit1.handle,WM_KEYDOWN,65,0)
 
Keybd_event(VK_LWIN, 0, 0, 0);
Keybd_event(Byte('M'), 0, 0, 0);
Keybd_event(Byte('M'), 0, KEYEVENTF_KEYUP, 0);
Keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0);

Shift::VK_SHIFT
Alt::VK_MENU
Ctrl::VK_CONTROL
 
后退
顶部