QT如何模拟键盘输入

zhp2568 2011-12-06 02:37:43
qt如何模拟键盘输入,比如在Window下我想用快捷键调出任务管理器(ctrl + alt + delete),不手动敲键盘该如何实现???
...全文
1628 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
AAA20090987 2012-07-12
  • 打赏
  • 举报
回复
QT没有这个功能,请调用相关平台的API

windows:请见
http://blog.csdn.net/aaa20090987/article/details/7590269

Linux:使用libtst库
xiebin133 2012-07-11
  • 打赏
  • 举报
回复
焦点不在界面,必须要键盘钩子才能截获到用户输入的键值,当输入你指定的键值的时候发送一个事件给系统,类似于postEvent,我个人的理解啊,可能不可行。
haltwang 2012-07-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

热键,键盘钩子。
[/Quote]

能不能具体点,我也很想知道怎么模拟。之前试着用Qt写一个按键精灵,结果失败了
xiebin133 2012-07-11
  • 打赏
  • 举报
回复
热键,键盘钩子。
haltwang 2012-07-11
  • 打赏
  • 举报
回复
这个得用系统的api吧,Qt没有提供这样的接口。
tubo_true 2012-07-11
  • 打赏
  • 举报
回复
sendKeyEvent

UP
Vegata 2012-07-11
  • 打赏
  • 举报
回复
ShellExecute(0,L"open", L"Taskmgr", NULL, NULL, SW_SHOWNORMAL);

或用QProcess打开 Taskmgr.exe就可以打开任务管理器了.
Vegata 2012-07-11
  • 打赏
  • 举报
回复
void QWSServer::sendKeyEvent ( int unicode, int keycode, Qt::KeyboardModifiers modifiers, bool isPress, bool autoRepeat )

模拟键盘可以试下这个函数

其实你想调出任务管理器的话不一定需要模拟按键,并且在win7上任务管理器的快捷键并不是(ctrl + alt + delete) 而是(ctrl + shift + esc)
wyk_08 2012-07-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

楼主 你那个模拟的键盘输入的 接收对象是谁?你自己写的QT程序?还是系统?
如果是你自己写的QT程序那么楼上的回答就可以。
如果是系统的。那你可以看看键盘事件代表的功能。直接去调用系统的功能方法就好啊……
[/Quote]
我想的是給系統..怎樣調用..謝謝指教
zhh_kv 2011-12-06
  • 打赏
  • 举报
回复
+
模拟键盘缓冲区
刀刀亮 2011-12-06
  • 打赏
  • 举报
回复
楼主 你那个模拟的键盘输入的 接收对象是谁?你自己写的QT程序?还是系统?
如果是你自己写的QT程序那么楼上的回答就可以。
如果是系统的。那你可以看看键盘事件代表的功能。直接去调用系统的功能方法就好啊……
我是学友 2011-12-06
  • 打赏
  • 举报
回复
不动手敲键盘?
我按照我的理解提个方案吧
设置一个按钮
写一个槽函数
点击这个按钮触发槽函数
槽函数里写上键盘事件
键盘事件的枚举值手册上都有
--这样不用键盘

16,240

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧