问题标签 [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.
delphi - 非 Unicode、非 Ascii 字符的 SendInput
我正在编写一个全局挂钩程序。使用 SendInput 发送 ascii ( < 255 ) 和 Unicode 字符。到目前为止,它运作良好。但在我的语言泰米尔语中,有些字符是没有 Unicode 代码点的组合字符。所以在字体中定义了 255 以上的字形。如何为它们发送虚拟键码?
尽管这些字形没有代码点,但它们具有像 u0BAF_u0BBF 这样的字形名称。第一部分和第二部分用 Unicode 定义。这些名称被称为命名序列并由 Unicode 批准。
代码:
编辑:是的,我确实单独发送每个代码点。每个代码点都附有字形。还有另一种结合了两者的设计。它在视觉上看起来更好,并且表现得像一个角色。由于它是单独定义的,我认为应该有一种使用 sendinput 发送的方法。
Edit2:
还有一些字符不能机械组合。
编辑 3:测试证明 Rob Kennedy 是正确的。第二个代码点不会机械地显示。它与第一个智能组合得到第三个新组合字形。使用字形(名称)编码。我以编程方式执行相同操作的代码干扰了此过程,因此出现了问题。
非常感谢
c# - 使用 SendInput 发送 U+FFFF 以外的 unicode 字符
我正在编写一个类似于 Windows 8 中的屏幕键盘。使用 Win32 的 SendInput 发送我需要的大部分字符都没有问题。
问题在于新的 Windows 8 表情符号。它们从 U+1F600 开始,使用 Segoe UI Symbol 字体。
在 Windows 8 屏幕键盘上使用 Spy++,我得到所有表情符号字形的以下输出。
由于它们都产生相同的输出,我看不到实际识别唯一字形的发送内容。
我知道 SendInput 有一个用于发送 unicode 字符的 KEYEVENTF_UNICODE 参数。但是这些字符似乎在某种扩展的 unicode 页面中。在 16 位 unicode 范围(U+0000 到 U+FFFF)之外,可以表示 C# char 或 INPUT 结构中的短 wScan 值。
这是我的 SendCharUnicode 方法。
如何修改此方法以成功发送 Unicode 字符,例如 (U+1F600)?
c++ - 保持 C++ 程序始终运行
我有为 Windows 编写的 C++ 程序,它使用 SendInput() 来模拟键盘键。程序运行并发送空格键,在冰塔(游戏)中运行良好,角色继续跳跃。但是,当我尝试使用 Counter Strike 之类的游戏时,它并没有跳转,当我尝试按 alt+tab 在程序和游戏之间快速切换时,我发现游戏会跳转一次,并且 SendInput() 让它成功了。所以我的猜测是,当程序在后台时,它不会将密钥发送到游戏,有没有办法解决这个问题?
c++ - 如何使用 SendInput 自动拖放
我想测试在浏览器上运行的 Flash 应用程序。我需要在应用程序中拖动碎片。我想通过使用 windows api 模拟鼠标移动来做到这一点。
这是我模拟鼠标拖动的导航解决方案:
该代码大多不起作用,有时起作用,它具有未定义的行为。可能是什么问题呢?我该如何解决这个问题?
c# - 使用 SendInput 自动按键
当我尝试使用SendInput
发送单个按键和组合按键时,我无法让我的程序按住键盘按钮,直到被命令释放。使用下面的代码,我可以通过先点击发送字符'a'
, 和。但是,我无法让它永远按住按钮。'A'
shift'a'
知道为什么,如果我删除最后两个SendInput
s,它不只是按住'A'
吗?
c# - C# sendinput 在某些应用程序中不起作用
我正在尝试在dayz中编写一个用于“自动运行”的小应用程序(如果有人玩它,就知道长时间无聊运行的问题)。当我开始时,我认为这将是简单的模拟按键和按键。但是现在我正在尝试大约 6 小时来找到如何编码的方法,但我还没有完成。
起初我尝试使用 win32.dll 的 keybd_event,但没有任何反应。游戏看起来像什么都没有按下。之后我尝试了 SendInput,但它也不起作用。最后我尝试搜索进程,它自己的窗口并在那里使用 SendMessage 和 PostMessage,但也没有任何反应。
我认为没有必要在这里发布代码,因为代码很简单:](我试过了,一切都可以在记事本和其他“有边界”的应用程序(如 Firefox,即 word、记事本等)上运行),但在无边框窗口中什么也没有发生(游戏中:Dayz)。我想问一下:
我想,每个游戏都与操作系统通信。以及自带处理器的操作系统。而且我认为每个“进程”都会发送到操作系统和操作系统,然后将其传递给自己的进程(应用程序、窗口等)。所以我认为操作系统是最优先的。现在我想问一下,是否有可能游戏的优先级高于操作系统和游戏与处理器的通信?我知道这是计算机的基础,但我真的不知道为什么当任何其他应用程序(我尝试过的)发生时,游戏没有捕捉到按键的“事件”。虚拟键盘也不能正常工作(但这是因为游戏内无法访问虚拟键盘^^)
我从未编写过任何游戏或任何图形或任何游戏框架,所以我不知道是否有其他过程或类似的东西,但我不这么认为。
c# - 在 C# 中模拟数字符号 (#) 击键
我正在尝试SendInput
在 user32.dll 中使用准确地键入一个井号(数字符号、井号、八叉戟,无论你怎么称呼它)。
这些是我看到的可能选项:
通过模拟SHIFT+3(SHFT_DN、3_DN、3_UP、SHFT_UP)键入数字符号。我唯一担心的是美国布局的键盘。配置了非美国布局的系统是否有可能输出错误的密钥?
我的另一个选择是通过模拟按键通过 ascii 代码插入字符:ALT+035(ALT_DN、NUMPAD0_DN、NUMPAD0_UP、NUMPAD3_DN、NUMPAD3_UP、NUMPAD5_DN、NUMPAD5_UP、ALT_UP)。这种方法有什么重大缺陷吗?所有区域是否共享相同的 ASCII 代码,Windows 是否在所有区域都提供此 ALT+### 功能?这也将为单个简单字符生成大量击键。我不知道这是否是一个潜在的问题。
理想情况下,会有一个是哈希符号的虚拟键码,但我没有看到。我错过了吗?
还有其他我没有想到的可能性吗?我真的需要继续使用SendInput
有几个原因。
所以我的问题是,我如何使用SendInput
模拟输入的数字/哈希符号,并使其成为全球性的并且不依赖于非美国键盘,并尽可能减少击键次数?
谢谢
java - 为什么我提交文本时 App Force 会关闭?
我将从没有编程经验到学习 Android。我正在使用带有 ADT 插件的 Eclipse 做 Google 的在线教程。
初学者部分的最后一个教程是让用户输入一个语句并启动一个显示该输入文本的新活动。当我在我的 Nexus 10 上运行该应用程序时,每次我点击提交按钮时它都会强制关闭。
我猜这是在我的主要活动中发送文本或在我的显示消息活动中检索文本的问题。
我为我的菜鸟性质提前道歉。我会很感激任何帮助。
MainActivity.java:
*这是 Displaymssageactivity
我做了 logcat/ 不幸的是,目前这对我来说都是希腊语。这是我的结果。我只想得到一个功能程序。稍后我会担心形式上的错误。
c++ - 从变量中发送输入存储和使用
我对 c++ 很陌生,想知道是否有任何人可以帮助我正在从事的项目。
目前在我的代码中,我从一个文件中收集信息,该文件包含程序信息,然后是当该信息的标准为真时发送的密钥。
给出一个想法,这是我的文件的样子:
因为列表长度并不总是相同,所以我的代码使用它来将信息收集到内存中
用于收集密钥 Hex 以根据BIntVector.push_back(key);
是否满足其他条件在代码中稍后输入到发送密钥语句中,这就是开头为 0 和 1 的原因。字符串值仅用于将内容打印到屏幕上。
现在我在网上发现这段代码可以做到SendInput()
,当键值存储为 int 时,它似乎工作正常,但是当我尝试从文本文件中获取 Hex 值时,程序崩溃,因为它无法将其存储为诠释。但是,如果值不是 int,我的下面的代码将无法编译。我没有在下面为发送输入制作此代码,这就是为什么我不确定它为什么不工作或如何解决它的原因。也许这很简单,但我不知道 sendkey() 中发生了什么
任何帮助都会很棒,谢谢。
delphi - 为什么 SendInput Ctrl+V 在 Outlook 中不起作用?
我有一个程序,它使用系统范围的热键Ctrl++通过使用此处使用的SendInput 发送 +Shift组合a key of the user's choice将文本粘贴到剪贴板中。这在大多数程序中都可以正常工作。但是在新电子邮件的“收件人”字段中的 Outlook 中,我尝试的每个键最终都会弹出“将项目移动到文件夹”Outlook 对话框,该对话框应该是+ +组合键。在 Body 字段中没有任何反应。有什么想法吗?请参阅下面的重现代码:CtrlVCtrlShiftV