问题标签 [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.
c++ - 模拟 alt-tab 键会导致菜单卡在屏幕上
我需要为 alt-tab 功能制作一个自定义热键。我SendInput
通过发送相应的密钥来做到这一点,它工作正常。
但是,如果热键已经包含 alt 键,则程序只需按下并释放 tab;但这样做会导致 alt-tab 菜单甚至卡在屏幕上,唯一让它消失的方法是关闭我的程序。这怎么可能发生,关闭我的程序与菜单消失有什么关系?
另一方面,无论 alt 是否已经关闭,发送 (alt down)(tab down)(tab up)(alt up) 键在所有情况下都有效,但由于其他原因我不能依赖这种行为。
如果有帮助,我正在使用 WinXP,我还没有在 Win7 计算机上尝试过。
c# - 我在这个 SendInput 片段中做错了什么?
只是尝试一些 WinAPI 的东西。我有一个 C# 控制台应用程序,用于SendInput
模拟某个键盘键的 akeydown
和keyup
事件。但它不起作用,也许我在做一些愚蠢的事情,没有发送密钥,不确定我错过了什么 - (尝试发送“W”,休眠 5 秒,打开一些文本编辑器查看神奇的信在那里):
定义:
我究竟做错了什么?为什么没有发送密钥?
谢谢 :)
c++ - C++ SendInput 不放开键
我在下面使用这些代码,它们一直按住左右键,直到我自己按下这些键才松开它们。
我可以运行左键代码并继续按右键.. 它会一直按左键.. 直到我自己按下左键才会停止。
当我运行右键代码时,右键也会发生同样的事情,它一直按右我可以按左键,它仍然会一直按右键,直到我自己按右键。
我使用 SendInput 的原因是因为 keybd_event 不可靠.. 如果你不在 DOWN/UP 之间放置一个 Sleep(Milliseconds) 它甚至不会做任何事情,并且使用 Sleep() 会抛出这个程序的意图它必须尽可能快地点击它,按住键任何时间都可能导致错误的答案(这就像一个瞄准程序)
这个是用来敲右键的
这个是用来敲左键的
编辑:新代码看起来像这样,错误不喜欢这种风格。
再次编辑:(也不起作用)我试图欺骗它先发送 KEYUP。
c# - c# 移动鼠标没有焦点不起作用
我想在我的应用程序之外移动鼠标并模拟鼠标点击。
我已经尝试了所有可能的方式来移动鼠标、sendinput、包括 BotSuite 和 Input Simulator 在内的大量库。
每次我的应用程序失去焦点时,它都不会移动鼠标,也不会单击。我可以移动鼠标,然后在我的应用程序内部单击,但是一旦我失去焦点,它就会完全停止工作。我也不能点击我的应用程序之外的任何东西,即使在对焦时也是如此。
这是为什么?
这是使用 BotSuite 的片段。我在此之前开始了一个过程,并将其作为重点。
这是行不通的。但是,如果我事先在自己的应用程序上执行 SetForegroundWindow,则 Mouse.Move 命令有效。在我的应用程序边界之外单击都不起作用。
c# - 无法通过 SendInput() 发送 Browser_Back/Forward(仅在 Surface Pro 2 上)
几天前,我拿到了我的 Microsoft Arc Touch Mouse Surface Edition。不幸的是,它没有前进/后退按钮(它只执行 Page-Up/Page-Down)。
因此,我编写了一个小程序,它可以捕捉到 Page_Up/Page_Down 键的按下并发送浏览器后退/前进按钮。
在我的电脑(Win 8.1 Pro)上,这工作得很好。但是,在我的 Surface Pro 2(主要是为此编写程序)上,它不会发送 Browser_Back-/Forward-Buttons。对于每个其他键,该程序似乎都可以工作(如空格、字母、数字)。
这里是发送密钥代码的代码:
这里是 KeyboardHook:
因此,如果按下我键盘上的 Page-Down/page-Up 按钮,就会调用 send() 方法。0xA6 和 0xA7 是 Browser_Back 和 Browser_Forward 的键码。
在我的 Surface 上,可以正确识别 Page-Up/Page-Down 按钮。send() 方法也被调用,但它不会发送正确的键码。根据 Spy++ 的说法,如果 Keycode 为 0xA6 或 0xA7(在我的 PC 上可以使用),则 send() 不会发送任何内容。
Surface Pro 2 的问题在哪里?我能做什么,它工作,或者我怎么能确定它为什么不工作?
c++ - 虚拟键“退格”不起作用
我正在尝试使用Virtual-Key Codes实现按键(退格)的模拟。在文本文件打开时运行代码按预期工作(删除文本),但在 Win 8 照片应用程序打开时运行它不会做任何事情(例如,我希望它上升到上层相册) .
有谁知道为什么?为了在 Win8 photo App 中模拟退格键按下,我需要做什么?
我的代码:
winapi - 如何准确处理双击?
我想通过单击 left_mouse 2 次来处理动作双击。在 2 次单击时间之间,我睡了 100 毫秒
SendInput(LEFT_CLICK...);
睡眠(100);
SendInput(LEFT_CLICK...);
它在我的 PC 上运行正常,但在虚拟机中无法正常运行 可能是,机器执行“SendInput”功能时存在延迟时间
即使我删除“Sleep(100)”,它只是单击 2 次而不是“双击“我想要的。
在这种情况下如何准确处理双击
无论如何,请建议我这样做
谢谢,
c++ - explorer.exe 上的 mouse_event 块
我正在开发一个远程访问应用程序,比如 teamviewer。我将在哪里将鼠标事件从客户端发送到服务器(使用 mouse_event() 函数在服务器上执行)。但是由于某种原因鼠标事件被阻止,服务器能够接收它们并使用 mouse_event() api将它们发布到操作系统,但没有结果。
是否有任何工具可以检查,为什么操作系统没有执行这些鼠标事件。
注意:键盘事件运作良好。我也尝试了 SendInput() api。
我在 Windows 上使用 C++ 开发应用程序。
请让我知道您的建议。
在此先感谢,保罗。
c++ - SendInput 在 Win xp 中无法正常工作
我正在开发一个使用INPUT
结构的项目,并SendInput()
使用 Hook 将输入命令发送到另一个窗口。
我正在使用以下代码来获取上次访问的应用程序窗口的句柄。
然后发送粘贴命令:
现在的问题是我可以在Win 7, 8 and 8.1
. 但是我遇到的问题是第一个程序块在发送命令之前XP
是额外的。TAB
CTRL-V
谁能告诉我为什么会这样?我该如何解决这个问题?任何时间的建议将不胜感激。提前致谢。
c++ - C++ 使用 SetCursorPos 在窗口中移动鼠标
我创建了一个类似于 wiimote 的设备,我想将它用作 windows (8.1) 中的鼠标。该设备通过 tcp 连接到我的 windows 计算机上的 c++ win32 程序,并发送鼠标光标应该移动的位置。我正在使用 SetCursorPos 函数来设置位置,这对于控制大多数程序非常有用。但是当我尝试控制例如任务管理器时,光标不再移动。当我从任务管理器切换回其他程序时,它又可以工作了。我还尝试使用具有相同结果的 SendInput 函数。
这就是我的代码在 SendInput 中的样子:
使用 SetCursorPos 只需一行:
谁能告诉我为什么它不适用于某些程序?我知道它必须有可能做到这一点,因为我尝试了一个控制光标的智能手机应用程序,它适用于所有程序。