问题标签 [inputsimulator]

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

c# - 在远程桌面连接关闭的远程服务器上发送键盘返回键

我有一个 WinForms WebView2 项目,它是一个在网页上运行一些 JavaScript 的简单机器人。我正在使用 JS 单击网页上的元素并下载文件。该网站提示我“您确定要离开该页面吗?” 对话框,所以我想发送 RETURN 键盘按下以确认我想离开网页并下载文件。

我想使用 Windows 任务计划程序自动运行它。只要我远程连接到我的服务器并且窗口没有最小化,这种方法就可以工作。但是,当我没有远程连接到我的服务器时,我的 enter 按键返回并出现错误。

我用 SendKeys 试过这段代码

我启动我的 Bot,然后退出我的远程会话。当我返回时,程序到达时会出现此错误SendKeys.SendWait("{ENTER}");

我还尝试了 Nuget 包 InputSimulator

按照相同的过程,我启动我的机器人并退出我的远程会话。当我返回时,我遇到了这个错误:

是否有另一种与 c# 兼容的方式来发送击键?或者有没有办法防止对话框弹出?谢谢!

0 投票
1 回答
46 浏览

c# - WPF InputSimulator 不适用于用户控件

目标是制作一个用户控制键盘,所以我从 NuGet 安装了 InputSimulator,我用一个按钮尝试了它,当然在将该按钮的属性 Focusable 设置为 False 后它运行良好,但是当我将键盘创建为 UserControl 时,键盘不工作(不输入字符)。

这是用户控件的 xaml.cs 中的代码:

用户控件的 Xaml(一键):

此代码来自 App.xaml:

这是我如何调用键盘用户控件:

这是用户控件的整个 xaml:

更新:我发现此代码(在 App.XAML 文件中)对用户控件中的按钮不起作用:

所以我在用户控件的XAML文件中重写,这不是问题。问题是,我发现如果我点击按钮的文本(属性内容)它可以工作,但如果我点击按钮的其余空间它不起作用,请看这张图片: 在此处输入图像描述

我找到了产生这个问题的代码,这个来自用户控件的 XAML 文件的代码块,我添加它来删除按钮的默认悬停效果:

所以我想解决方案是找到另一种方法来消除悬停效果,还有其他方法可以消除它吗?

0 投票
0 回答
65 浏览

c++ - 模拟鼠标悬停在任何 Windows 应用程序的任何 UI 元素上

对于上下文,我的任务是模拟特定窗口句柄的所有鼠标交互/输入,而无需鼠标实际位于所述窗口上方。

我在 SendMessageA() 和发送 WM_LBUTTONDOWN 和 UP 以及 R 版本的右键单击方面已经走得很远了。

示例SendMessageA(m_TargetWindow, WM_RBUTTONUP, MK_RBUTTON, MAKELPARAM(x,y));非常适合在窗口的 x,n 位置发送右按钮向上。

首先,如果我的任务不适用于所有鼠标交互,包括模拟拖动和在这种情况下悬停(并且结束),那么这将为我节省大量时间。

如果可能的话,我会继续找出其余的,但现在悬停比其他发送消息命令更棘手(滚动也是/曾经,但现在解决了它)。阅读文档确实表明了一些细微差别,例如trackmouseevent,但我还没有理解它。我也不确定 Hover 是否是正确的思考方式,因为它可能是鼠标输入/离开类型的交易。

这是我到目前为止所尝试的。

这个想法是在窗口的 x 和 y 位置,它将模拟 m_TargetWindow 的悬停事件。

0 投票
0 回答
29 浏览

javascript - JavaScript 模拟键盘输入

试图找到一种方法来模拟键盘输入,如此处所示(c#)但在 javascript 中:

还没有找到一种方法在javascript中将按键事件设置到其他窗口,所以如果有人能指出我正确的方向,将不胜感激:)

0 投票
0 回答
19 浏览

c# - 与 Internet Explorer 交互,从后面的代码中查找窗口

我们有一个 WPF 应用程序,它使用嵌入在窗口中的System.Windows.Controls.WebBrowser控件链接到我们的 Intranet。该应用程序用于我们运行 Windows 10 LTSB 的 EPOS 设备。这限制了我们只能使用 Internet Explorer。由于没有附加键盘,我们使用集成到应用程序中的 WPF 键盘并使用InputSimulator.SimulateKeyPress(VirtualKeyCode)发送按键。

所有这些都非常有效,并且已经使用了几年。

但是,我们希望向应用程序添加文本搜索功能。我们想到的最简单的利用方法是向浏览器发送CTRL-F以打开浏览器查找窗口。我们遇到的问题是 Internet Explorer 为查找创建了一个新窗口,它在我们的应用程序外部浮动,因此我们在使用屏幕键盘时无法获得对它的关注。

我想我需要做的是获得这个新窗口的句柄,所以在处理按键时,我们可以以某种方式将它们引导到查找窗口,但我不知道如何实现这一点!

有人可以帮忙吗?