问题标签 [sendinput]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5566 浏览

python - 将输入发送到直接输入(如游戏)

我正在尝试为使用直接输入的游戏模拟按键。

我用谷歌搜索了一下,我发现了方法SendIput()

如果我尝试将按键发送到 notepad.exe,它工作正常,但当我尝试游戏时没有任何反应。我检查了这个网站,并稍微编辑了我的代码,但我仍然没有从游戏中获得任何按键事件。

任何人都可以帮助我吗?

我使用了 Python,但由于我导入了ctypes模块,所以 c/c++ 解释还可以。

0 投票
1 回答
1612 浏览

windows - sendinput API 可以模拟在一段时间内按住的键盘键吗?

我的应用程序需要模拟在一段时间内按住的键。我不知道多少次。我可以为此使用 sendinput API 吗?

0 投票
2 回答
6434 浏览

c++ - SendInput() 不是“发送”正确的移位字符吗?

VkKeyScanEx 为'/'和'?'返回不同的键码(相同的键),但是如果你尝试使用这个方法写一个包含'?'的消息,它只会写'/'。我不知道发生了什么事。';' 也会发生同样的事情 和 ':'。

我部分不理解键码和扫描码。大多数字符都有一个虚拟键码,但是我找不到类似的问号。它们必须存在,但没有列出?

0 投票
1 回答
4992 浏览

c# - WH_MOUSE_LL Hook 不会被注入事件调用(mouse_event,SendInput)

我的代码使用 WH_MOUSE_LL 挂钩最初禁止所有鼠标输入,除非 dwExtraInfo 属性设置为某个值。该程序还注册了鼠标设备的原始输入,以便我可以识别哪个设备负责输入。当我收到 WM_INPUT 消息并确定源时,根据设备,我可能只想让事件生效,在这种情况下,我使用 SendInput 重新创建它(尝试过 mouse_event,它也已被取代),提供数据在 dwExtraInfo 属性中。这个想法是钩子应该看到这个新注入的事件,看到额外的信息而不是抑制它。不幸的是,钩子永远不会看到注入的事件。虽然窗口过程可以看到相应的 WM_INPUT 消息,但 SendInput 返回 1,因此似乎正在生成事件。我读过上下文切换到安装钩子的线程并且它必须有一个消息循环。我相信我的代码符合该条件(因为 Application.Run() 在线程上启动了一个消息循环 - 我还尝试了一个手写的 Win32 样式的消息循环来代替它)。任何人都知道为什么会发生这种情况和/或如何解决这个问题?

以下代码显示了该问题。它应该在引用 System 和 System.Windows.Forms 的情况下运行。

主类:

输入处理器类:

额外的 P/Invoke 结构、枚举等。

}

一个 WM_LBUTTONDOWN 事件后的程序输出:

0 投票
2 回答
7049 浏览

c# - 在不实际打开大写锁定的情况下打开键盘的大写锁定灯的方法?

我正在编写一个使用大写锁定作为切换开关的程序。最好设置键的 LED 以显示我的程序是打开还是关闭,就像 capslock 键自然一样。

我知道我可以SendInput('Capslock');或以其他方式实际打开和关闭大写锁定。但是我的应用程序是一个打字程序,我不想处理将打开它的全大写键翻译成小写/大写的问题。我最终可能会走这条路,但不是这个版本。

然而,我有兴趣只打开 LED 灯而不实际打开大写锁定。有没有办法做到这一点?

谢谢你。

0 投票
2 回答
2832 浏览

c++ - 无法使用 ::SendInput() 将退格键发送到写字板应用程序

我使用了 sendinput() 函数和 windows 键盘挂钩来开发印度语言的自定义键盘。项目在谷歌代码中:http ://code.google.com/p/ekalappai

键盘挂钩和 sendinput 函数放置在一个 win32 dll 中。它们是从 Qt exe 调用的。我们的应用程序适用于大多数键和应用程序。我发现以下问题:

我无法将 Backspace 键发送到 Wordpad/Openoffice/MsOffice 等少数应用程序。我发现箭头键和删除键有同样的问题。

这是我的代码:

完整的 dll 代码在这里:http ://code.google.com/p/ekalappai/source/browse/trunk/ekhook/ekhook/dllmain.cpp

调用代码:

Qt Exe 的完整调用代码在这里: http ://code.google.com/p/ekalappai/source/browse/trunk/ekalappai/window.cpp

我尝试在谷歌中搜索,但还没有找到解决方案。如果有人有解决此问题的线索,请提供帮助。谢谢。

0 投票
1 回答
1224 浏览

c# - 如何在 C# 中测试 SendInput

如何判断我对 SendInput 的调用是否正常工作?我在下面有一个小片段,该消息似乎从未受到打击。SendInput() 返回 1,并且没有错误,所以我假设消息正常发出。

我也尝试过 Form KeyPress 和 KeyDown 事件,但我似乎也从来没有得到过这些。

0 投票
2 回答
2608 浏览

c# - SendInput scan code on Windows 7 x64

I am working with a WPF application sending keys to a game. I opened spy++ to observer s as a key press on the keyboard. I then press my button on the application and I noticed a different scan code in spy++ messages. Could this be somthing to do with Windows 7 64bit? Partial listing:

The image shows when I use my code to send a key I receive ScanCode:00fExtended from spy++ message output. When I actually press the same key I receive ScanCode:1FfExtended. Everything else is identical.

http://spilmansoftware.com/images/scancode.gif http://spilmansoftware.com/images/scancode.gif

0 投票
3 回答
2729 浏览

c++ - 如何在 MS Windows 中将快捷方式发送到 C++ 中的另一个应用程序?

我的问题是如何将快捷方式从 c++ 发送到另一个应用程序。例如,记事本打开了,我想向他们发送快捷键,比如 CTRL+P,或者更复杂的快捷键,比如 CTRL+SHIFT+HOME 或 ALT+F4,我发现很多很好的教程解释了如何发送一个键像'A'或'ALT',但我没有找到如何将它一起发送。

0 投票
2 回答
4569 浏览

c# - 无法将单键功能发送到远程桌面

在对网络进行了非常深入的研究之后,这是我的代码,不幸的是它没有以大写形式发送密钥:/

MapVirtualKey 实现:

发送输入实现:

}

现在对于方法:

此方法将密钥作为字符串发送,可通过远程桌面正常工作:

此方法用于按下一个键,其最初设置为:

但我尝试使用 mapvirtualkey,所以请注意更改:

按键:

关键:

对于测试:

在我的控制台窗口上,我看到: textabcABC textabcABC 等...

在 rdc 控制台窗口上,我看到的只是:文本文本等...

好像单键按下不起作用!

非常感谢任何帮助!提前谢谢,尼夫。