问题标签 [sendkeys]

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 回答
603 浏览

winforms - 从另一个应用程序拦截模式对话框弹出

我们有一个第三方 Windows 应用程序,我们认为它对我们的用户来说太复杂而无法有效使用。该应用程序管理着我们每天用来扫描 3000 个文档的扫描仪。

可以使用键盘完全控制扫描仪应用程序。

因此,我们正在编写一个简单的 WinForms 应用程序,它上面有少量大按钮,这些按钮使用SendKeys和一些 Win32 API 调用来将击键发送到扫描仪应用程序。我们计划让这个 WinForms 应用程序全屏显示并设置到 Z-Order 的顶部。

但是,扫描仪应用程序有时会在模式对话框中显示错误消息(例如扫描仪卡纸等)。我们需要在我们的 WinForms 应用程序中显示这些错误消息。

任何人都可以提出一种技术来让我们捕获这些错误消息并将它们展示给我们的用户吗?

0 投票
2 回答
2813 浏览

mapping - 将滚轮映射到按钮?

我想让鼠标滚轮向上和向下分别发送+-键 - 直接发送到操作系统,就好像它来自键盘一样。但只有当Win按键被按下时。

那就是 Windows 7 放大镜使用Win+-Win++ 来放大和缩小,我想通过 win-mousewheel 做到这一点,它应该工作的方式。任何类似的解决方案都可以,但更喜欢使用内置的解决方案,因为它具有出色的多显示器支持。

我只知道 VB.NET 和 C#,所以在解决方案可能是另一种语言的可能情况下,请提供足够的信息,我不需要学习该语言。

0 投票
1 回答
1707 浏览

c# - C# 中的 SendKeys 类

我有一个 ac# 程序,它使用 Process 类来启动 Internet Explorer 并转到一个 url。

然后它将特定字符串发送到该页面的搜索框,复制返回结果的整个屏幕,并对其进行处理。

我遇到的问题是这样的:

我使用 SendKeys.SendWait("abc") 将字符串发送到 Internet Explorer 中的页面(活动窗口)。当程序运行时,我看到页面上填充的内容有时是“bc”,有时是“abbc”,有时是“abcc”,有时是正确的“abc”。每次运行看起来完全不同。这个问题发生在我测试的多台机器上。但是在我自己的机器上,我最初开发这个的地方,我从来没有见过它发生 - 只有当我在其他机器上测试它(所有运行 XP)。

我在 SendWait 语句之间延迟以处理随机时间问题,但我是否相信即使在同一个 SendWait 语句中也存在问题?

需要帮助。谢谢。

0 投票
4 回答
24952 浏览

remote-desktop - 在远程桌面上运行时替代 SendKeys?

我有一个应用程序,它通过 SendKeys 将击键注入应用程序。

不幸的是,当我通过远程桌面运行该应用程序时,该应用程序将无法运行,因为众所周知的问题是 SendKeys 不适用于远程桌面。

以前有没有人解决过这个问题,或者对如何解决这个问题有什么好的建议?

0 投票
4 回答
56107 浏览

winapi - 如何在无需使用 Windows API 激活的情况下将击键发送到窗口?

    我已经制作了一个向激活的窗口发送命令的应用程序。我希望能够在我的进程运行时使用计算机,因为一旦我将焦点切换到另一个窗口,通过发送键发送的击键将转到我刚刚切换到的窗口。

    目前我使用 Windows API 中的 FindWindow、IsIconic 和 ShowWindow。我必须使用 FindWindow 检查窗口是否存在并将我的对象设置为该调用返回的特定窗口,然后检查它是否已使用 IsIconic 最小化并调用 ShowWindow 如果是,最后我必须调用Interaction.AppActivate 将焦点设置到该窗口。所有这些都是在我发送击键之前完成的。似乎应该有一种方法可以只发送击键而不必显示窗口并激活它。最重要的是,当我的应用程序正在运行击键时,我无法在我的计算机上执行任何操作。

0 投票
2 回答
942 浏览

c# - 发送击键

我正在使用SendKey这些功能将击键发送到由其窗口名称定位的窗口

是否有另一种方法可以将击键发送到窗口而不将其置于前台?

我在许多窗口之间切换并且SendKey正在犯一些我无法控制的错误,我不能使用SendWaitno 或者放置一些线程延迟,它必须是最快的,

我只是在看它是如何完成的。

0 投票
4 回答
7853 浏览

c# - 如何使用 C# SendKeys 以编程方式按下 Windows 键

基本上我想在代码中模拟用户点击 windows 键。我知道有 SendKeys 如果我得到它们的句柄,它允许我将按键发送到 Windows,但我不知道我需要处理什么才能发送 Windows 键命令。例如,Windows 键 + L。稍加阅读后,似乎 CTRL-ESC 也应该弹出“开始”菜单,但不确定如何告诉它将键发送到 Windows(如果这甚至可能的话)。任何帮助将非常感激。

干杯!

0 投票
2 回答
3305 浏览

c# - 在 C#/.NET 中将密钥发送到非活动应用程序

我有一个带有组合框的应用程序,其中包含当前正在运行的应用程序的名称。正如我从 msdn 库中了解到的,SendKeys 方法只能将密钥发送到活动应用程序。在.NET中是否有可能将密钥也发送到非活动应用程序?或者至少在 WinAPI 中?

0 投票
4 回答
637 浏览

c# - Clipboard 或 SendKeys 类与 WinForms 有什么关系?

这两个有用的类都在 System.Windows.Forms 参考下......

我看不出这些和winforms之间有多大关系..有人知道他们为什么在那里吗?

谢谢。

0 投票
1 回答
2452 浏览

python - 使用 Python 自动化旧的 DOS 应用程序

有没有办法从 Python(在 Windows 上)自动化旧的 DOS 应用程序(16 位,可能需要 DOSBox 等模拟器)?我想向应用程序发送键和字符串,检测对 DOS“屏幕”的更新并获取应用程序输出。

如果 DOS 应用程序可以“隐藏”运行,即不在任务栏中显示,那就更好了。

注意:这不是一个游戏,它是一个旧的应用程序之一,您可以在其中按 1 获得菜单,按 2 获得其他内容,等等......然后它要求输入一些数字,然后显示一些结果. 它是一个纯控制台应用程序。

注意2:不一定要使用DOSBox...可以用其他模拟器如Bochs完成