应用程序窗口未聚焦时如何在 UWP 中更改\控制鼠标位置?

Posted

技术标签:

【中文标题】应用程序窗口未聚焦时如何在 UWP 中更改\\控制鼠标位置?【英文标题】:How do change\control mouse position in UWP when the application window is not focused?应用程序窗口未聚焦时如何在 UWP 中更改\控制鼠标位置? 【发布时间】:2021-08-04 18:09:48 【问题描述】:

所以基本上我想在我的 UWP 应用最小化(或未聚焦)时更改鼠标位置。

System.Windows.Forms.Cursor.Position 

这是用于 Windows 窗体的。

Window.Current.CoreWindow.PointerPosition = new Point(500, 500); 

此方法适用于 uwp 应用,但仅适用于当前 UWP 应用,不适用于外部。

我想将光标移到当前窗口之外。

【问题讨论】:

可能无法解决您的实际问题,但您正在寻找SetCursorPos 无论如何,我回滚了你的编辑。有人提交答案后,您无法大幅更改您的问题。 SetCursorPos 方法不起作用吗?您是否在按钮单击事件中控制窗口最小化?你能提供你的测试代码吗? 【参考方案1】:

您可以尝试使用 user32.dll 中的 SetCursorPos 函数:

[DllImport("user32", SetLastError = true)]
private static extern int SetCursorPos(int x, int y);

在文件顶部添加 System.Runtime.InteropServices 名称

using System.Runtime.InteropServices;

例子:

SetCursorPos(500, 500);

【讨论】:

当应用程序没有聚焦时,这将不起作用。 您说:“SetCursorPos 将始终像宣传的那样工作”,我的问题明确指出:“当应用程序窗口未聚焦时”。因此,当我的应用没有聚焦时,此方法将不起作用。

以上是关于应用程序窗口未聚焦时如何在 UWP 中更改\控制鼠标位置?的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式隐藏UWP应用程序键盘?

UWP 多个视图未关闭

当视图聚焦在 UWP 上时,不应用 BackgroundColor

如何更改 EditText 的边框颜色(未聚焦)?

更改窗口大小 UWP 时更改控件大小布局

如何更改未聚焦的textInputLayout的轮廓或边框的颜色?