问题标签 [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# - 如何使用 SendInput 发送斯堪的纳维亚字母
我正在尝试创建一个虚拟键盘,它使用 SendInput 方法模拟键盘,如下所示:
但我无法从 Keys 枚举中找到斯堪的纳维亚字母 Ä、Ö 和 Å。如何使用 SendInput 方法发送这些信件?
console - Autohotkey 错误的击键发送到控制台
我正在尝试了解此错误,并且正在寻找解决方法。
使用此脚本:
它将正确的击键发送/[]到除 Windows 控制台 (cmd) 之外的所有窗口
附加信息:
- 使用自动热键 v1.1.09.02
- 使用英语美国键盘布局,它发送:'90
- 使用法语加拿大多语言键盘布局,它发送:é^ç
知道什么可以解决它吗?
c++ - 发送输入到远程桌面
我正在尝试调试一个将密钥发送到远程桌面应用程序中的程序的功能。该函数在发送密钥时没有问题,除非它尝试发送句点(“.”)密钥。这是工作代码的示例:
c# - 在 VirtualBox 中将密钥发送到 FreeBSD
我正在尝试在 C# 中制作一个小型应用程序,该应用程序将密钥发送到 VirtualBox 中的 FreeBSD,但它不起作用。我尝试了 SendKeys 和 InputSimulator,但没有任何反应。它在记事本中正常工作,但在 VirtualBox 中不能正常工作。有人知道怎么做吗?
c# - C# DirectInput SendInput 不影响游戏
我需要一些关于 DirectInput 的帮助,我会告诉你我想要做什么。当我只按一个键时,我想做我的程序将组合键发送到游戏。示例:我将按“r”,它将按“1”、“3”、“2”、“4”键。我从这里找到了一些代码。但他们并没有完全发挥作用。
这是我的代码和我的问题:当我使用 Send_Key_Hold 时,它只在游戏中按下一个键,而其他组合键没有按下,因为我认为第一个键被按住。当我同时使用 Send_Key_Hold 和 Send_Key_Release 时,它不会在游戏中按下任何按钮。但是在桌面上(我的意思是任何其他应用程序不是游戏)它按下键。
c++ - 当我使用 SendInput 发送鼠标光标位置时屏幕变黑
我正在使用 SendInput() 发送鼠标的相对位置。首先生病告诉你在做什么。
我用手指移动鼠标。因此,首先我在 640x480 图像中跟踪我的手指并获取图像中像素的绝对位置。
然后我将该位置发送到以下方法,以使用发送输入生成相对鼠标位置命令。
当手指移动到左边界 (xlim1) 或右边界 (xlim2) 时,光标会根据哪个限制水平向左或向右滚动。问题是当我运行代码时,就在光标开始移动时,屏幕变黑。
当我评论其他部分 if(cx >= prevX && cx > xlim2){ .... } 部分时,它可以工作.. (所以当手指指向图像的右边界时,它的光标会一直水平滚动到对。注释部分启用左侧水平滚动)。
如果这是我们第一次捕获手指,则 bool first 变量将为真。否则为假。
}
c++ - Modifier keys works strange with SendInput()
I am trying to implement a SendKeys()
function with SendInput()
, and here is my key snippet of my function:
And here is my test code:
Instead "Hello", I keep receiving "HELLO", and after the program was terminated, the ctrl button seems is still being pressed. Wondering what happened.
c++ - 使系统范围的按键按下 SendInput
我正在尝试制作一个程序,该程序为我每次按下鼠标左键发送两个额外的按键。这一切都很好,除非我在另一个程序中(在我的情况下它是一个游戏),然后它确实感觉到按下鼠标左键但它没有为我按下额外的两个虚拟键。整个代码:
现在我已经阅读了所有我能找到的关于这个的东西,顺便说一句,我认为这与使用扫描码而不是虚拟键码有关。问题是当我做这个 ip.ki.wScan = 0; 和 ip.ki.wVk = 0x77; 它会做对,但不会在游戏中,当我同时使用扫描码和 VKcode 时也是如此。但是当 VKcode 为零时,即使我不在游戏中,它也会停止按 F8 键。
所以我的问题是:我如何制作一个系统范围的虚拟按键,当我不在桌面时也可以工作?
c# - 由于 UIPI,SendInput 失败
我正在尝试在 Win7 上模拟鼠标事件,我的应用程序使用网站http://inputsimulator.codeplex.com/上的开源项目“Windows Input Simulator”,该项目在内部使用以下代码来模拟鼠标事件:
当我使用 Visual Studio 2010 调试它时,我的应用程序运行完美。左键单击事件、右键单击事件和鼠标移动事件都可以。但是当我通过双击 .exe 应用程序可执行文件从资源管理器启动我的应用程序时,单击事件不会发送。只有鼠标移动事件是可以的,如果我尝试模拟左键单击或右键单击,我的应用程序将收到异常并退出。我发现异常是由以下代码引发的:
这表示 UIPI 阻止了 SendInput(...)。所以我谷歌这个话题,并得到一些建议。
1) 将 uiAccess="true" 添加到我的应用程序清单中
2) 创建一个测试证书并将此证书添加到本地机器受信任的根证书颁发机构证书存储和受信任的发布者证书存储。
3) 用以前的数字签名签署我的申请
4) 将我的应用程序安装到“C:\Program Files”文件夹,这是我计算机上的安全位置之一。
我想我已经做了所有的事情来满足 UIPI 的要求,但是在我启动我的应用程序并同意 UAC 提示后问题仍然没有解决。只有鼠标移动事件是可以的。
PS:如果我不使用测试证书签署我的应用程序,并且只在清单中添加带有 uiAccess="true" 的“requestedExecutionLevel”,应用程序将无法启动,并且 Windows 会显示一个对话框,其中包含消息“从服务器返回了一个推荐。”。如果我用测试证书签署了我的应用程序,UAC 将在我开始我的应用程序时工作。该应用程序将一直工作,直到我调用 SendInput 来模拟单击事件然后抛出异常。
我已经在http://msdn.microsoft.com/en-us/library/bb625963.aspx阅读了有关“接口特权隔离 (UIPI) 和完整性”的要求,但是在完成所有这些操作之后,仍然无法正常工作。
我找到了一个博客,在这个博客中,它说
通过在 [应用程序清单] 的 requestedPrivileges 属性中指定 UIAccess=”true”,应用程序要求绕过 UIPI 对跨权限级别发送窗口消息的限制。Windows Vista 在启动具有 UIAccess 权限的应用程序之前实施以下策略检查。应用程序必须具有可以使用数字证书验证的数字签名,该数字证书链接到本地计算机受信任的根证书颁发机构证书存储中的受信任的根。应用程序必须安装在只能由管理员写入的本地文件夹应用程序目录中,例如 Program Files 目录。
不幸的是,如果您的应用程序可以由非管理员用户安装,这将不起作用。
我想知道如何使我的应用程序不符合最后一句“不幸的是,如果您的应用程序可以由非管理员用户安装,这将不起作用”并且可以通过在清单中添加 uiAccess="true" 来绕过 UIPI。
任何人都可以帮助我吗?
c# - 将线程输入附加到目标进程后,SendInput 不起作用
我正在制作一个需要使用似乎没有实现 UI 自动化元素的程序的 UI 的应用程序(Inspect.Exe 只显示主窗格,没有子窗格)。
所以我研究了实现我需要的功能的最佳方法是什么,并发现了 SendInput(),它显然是 keybd_event() 和 mouse_event() 的更新版本。
但是,由于它需要键盘焦点,并且由于我无法将目标窗口设置为前台(以避免在运行时打扰用户),所以我一直在搜索,直到找到这个答案。我按照 Skurmedel 所说的做了,并将我的应用程序线程加入了目标的窗口线程。但是现在,即使我 SetFocus() 到目标然后 SendInput(),目标窗口也不会受到影响。
我的问题要么是“为什么这不起作用?” 或“我做错了什么?”,但我想一个代码示例将有助于解决这个问题:
线程处理程序类
申请的主要方法
如果您能向我解释一下 SendInput() 的神秘艺术,请提前致谢。