Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C语言中将鼠标光标移出屏幕#_C#_Wpf_Windows_Cursor_Mouse - Fatal编程技术网

C# 在C语言中将鼠标光标移出屏幕#

C# 在C语言中将鼠标光标移出屏幕#,c#,wpf,windows,cursor,mouse,C#,Wpf,Windows,Cursor,Mouse,我有一个wpf窗口,高度为2000,实际桌面高度约为1000。很明显,大约有一半的窗口在屏幕外。即使窗口延伸到屏幕下方,鼠标也不会向下移动到该区域。我确实希望这个内容在屏幕外,我希望鼠标能够在它上面移动,如果鼠标位于元素上的某个位置,则可以单击元素。我不想改变我的屏幕分辨率,因为有些内容绝对不能出现在屏幕上。不确定如何进行此操作。Windows中没有屏幕外的光标位置。我认为鼠标受屏幕分辨率的限制,即使windows不受限制。windows中没有屏幕外的光标位置。我认为鼠标受屏幕分辨率的限制,即使

我有一个wpf窗口,高度为2000,实际桌面高度约为1000。很明显,大约有一半的窗口在屏幕外。即使窗口延伸到屏幕下方,鼠标也不会向下移动到该区域。我确实希望这个内容在屏幕外,我希望鼠标能够在它上面移动,如果鼠标位于元素上的某个位置,则可以单击元素。我不想改变我的屏幕分辨率,因为有些内容绝对不能出现在屏幕上。不确定如何进行此操作。

Windows中没有屏幕外的光标位置。我认为鼠标受屏幕分辨率的限制,即使windows不受限制。

windows中没有屏幕外的光标位置。我认为鼠标受屏幕分辨率的限制,即使windows不受限制。

光标定界不是由应用程序完成的,而是由windows本身完成的。据我所知,没有办法让光标指向屏幕之外

你可以通过做很多游戏来模拟你想要的东西。不要绘制窗口光标,在应用程序窗口中绘制自定义光标。强制真实光标(未绘制)停留在监视器的中心。每次用户移动实际光标时,相应地移动应用程序的光标,并将实际光标重新放置到屏幕中心


这会给人一种你想要的错觉,但我认为WPF无法处理这个问题。

光标定界不是由应用程序完成的,而是由Windows本身完成的。据我所知,没有办法让光标指向屏幕之外

你可以通过做很多游戏来模拟你想要的东西。不要绘制窗口光标,在应用程序窗口中绘制自定义光标。强制真实光标(未绘制)停留在监视器的中心。每次用户移动实际光标时,相应地移动应用程序的光标,并将实际光标重新放置到屏幕中心

这会让人产生你想要的幻觉,但我认为WPF无法处理这个问题。

我认为这是可能的。将允许使用辅助计算机作为额外的监视器。有几个程序可以让您知道鼠标光标所在的坐标。例如,我们很容易做到这一点

当您安装autoit时,它附带了这个实用程序,可以让您知道鼠标的位置。当我拍摄屏幕截图时,鼠标没有出现,但我在鼠标所在的位置画了一个蓝点。注意,坐标系中7101464。现在我的屏幕分辨率是1200*1920(我的显示器是旋转的)。因此,使用Autoit,我可以通过执行以下操作来定位鼠标光标

当我运行autoit程序时,它会将鼠标移动到该位置。这个问题的答案似乎是正确的,因为我无法将鼠标向右移动超过1200换句话说,执行MouseMove(2500800)将导致将鼠标移动到1200800。现在有趣的部分是我为什么能够将鼠标移动到(2500800)!如果我使用,换句话说,执行
MouseMove(2500800)
现在与Autoit一起工作,鼠标实际上移动到另一台计算机上(maxivista必须运行)maxivista显示有一种方法可以将鼠标移动到屏幕分辨率之外

我认为这是可能的。将允许使用辅助计算机作为额外的监视器。有几个程序可以让您知道鼠标光标所在的坐标。例如,我们很容易做到这一点

当您安装autoit时,它附带了这个实用程序,可以让您知道鼠标的位置。当我拍摄屏幕截图时,鼠标没有出现,但我在鼠标所在的位置画了一个蓝点。注意,坐标系中7101464。现在我的屏幕分辨率是1200*1920(我的显示器是旋转的)。因此,使用Autoit,我可以通过执行以下操作来定位鼠标光标


当我运行autoit程序时,它会将鼠标移动到该位置。这个问题的答案似乎是正确的,因为我无法将鼠标向右移动超过1200换句话说,执行MouseMove(2500800)将导致将鼠标移动到1200800。现在有趣的部分是我为什么能够将鼠标移动到(2500800)!如果我使用,换句话说,执行
MouseMove(2500800)
现在与Autoit一起工作,鼠标实际上移动到另一台计算机上(maxivista必须运行)maxivista显示有一种方法可以将鼠标移动到屏幕分辨率之外

如果您查看的屏幕截图,您会发现显示设备管理器的屏幕截图:


正如您所见,他们只是编写了一个虚拟显示适配器,它提供了自己的显示大小。因此,windows将被告知可用的大小,例如2560x1600是可能的,并允许所有窗口和鼠标使用这些边界。现在,由显示器驱动程序将此虚拟屏幕的右侧部分转发到当前的真实显示器适配器,以便在每个物理设备上显示右侧部分。

如果查看的屏幕截图,您会发现显示设备管理器的屏幕截图:


正如您所见,他们只是编写了一个虚拟显示适配器,它提供了自己的显示大小。因此,windows将被告知可用的大小,例如2560x1600是可能的,并允许所有窗口和鼠标使用这些边界。现在,由显示器驱动程序将此虚拟屏幕的正确部分转发到当前的真实显示器适配器,以便在每个物理设备上显示正确的部分。

oliver我愿意接受您的答案!我会再开始一次悬赏