【问题标题】:Changing key output更改键输出
【发布时间】:2013-11-22 23:45:39
【问题描述】:

我正在制作一个程序,该程序将输入击键并更改输出以形成我选择的消息。我正在考虑使用 GetAsyncKeystate() 来查看某个键是否按下,但我不确定如何更改按下的键的值。

【问题讨论】:

  • 您需要提供具体信息。这是控制台应用程序还是 GUI 应用程序? output 必须去哪里?命令提示符?一些控制?一份文件?别的地方? “你选择”的翻译是什么
  • 抱歉,我实际上是在制作一个小程序来和我的朋友们搞砸。 20 秒(程序在 20 秒后停止执行)它将接受他们输入的任何内容(比如在他们的地址栏或任何其他程序中)并将其更改为数组中的字母。目标是让他们输入的任何内容变成其他内容,比如说“你好”。
  • @Ripsaw,你可以写一个设备驱动程序,但这真的值得吗?
  • 相当参与的项目,20 秒的乐趣。我想您可以渗透所有正在运行的进程(例如,使用全局挂钩),并加载您自己的键盘布局。不过,当 20 秒结束后,清理烂摊子会有些困难。

标签: c++ winapi


【解决方案1】:

您最好的选择是low-level keyboard hook。你没有得到大量的上下文,但你确实得到了原始的击键。如果您需要上下文,那么您可能正在查看text service via TSF,但这往往会很快变得复杂。

【讨论】:

  • 我可能是错的,但看起来您不能在低级键盘挂钩中修改键盘输入。 Documentation“WH_KEYBOARD_LL 挂钩使您能够监视即将发布到线程输入队列中的键盘输入事件。”
猜你喜欢
  • 2015-04-03
  • 2012-10-10
  • 1970-01-01
  • 1970-01-01
  • 2020-02-15
  • 2020-04-30
  • 1970-01-01
  • 1970-01-01
  • 2016-01-21
相关资源
最近更新 更多