草庐IT

Mouseevent

全部标签

c++ - 在 Windows 上获取鼠标光标位置和按钮状态

在Windows(Windows7及更高版本)上获取鼠标光标位置或按钮状态的最合适方法是什么?我以前使用过DirectInput,但我不再使用它,也不想使用它。我看到有GetCursorPos,但是,我没有看到任何用于获取鼠标按钮状态的信息。我以前读过,只阅读窗口消息(例如WM_LBUTTONUP)对于实时应用程序来说被认为是“慢”的,所以我不知道任何其他选项。 最佳答案 如果你想轮询/查询当前光标位置,你可以使用GetCursorPos。要查看按钮状态,请使用GetAsyncKeyState。如果您在窗口中实现消息循环,您将获得的

c++ - 在 C++ 中,如何让用户在应用程序窗口外指定屏幕上的一个点 (X,Y)?

我必须找到应用程序窗口外的点的坐标。我打算有一个按钮“指定点”,当用户点击这个按钮时,他们的下一次鼠标点击将被程序注册为这个所需的点。问题是我不知道如何实现这个....有什么想法吗? 最佳答案 您可以调用SetCapture将鼠标点击从桌面上的任何位置指向您的窗口。调用ReleaseCapture点击后恢复正常。如果用户点击另一个应用程序,您将收到点击,但另一个应用程序也将被激活,这可能是您不希望的。为避免这种情况,另一种方法是用一个几乎完全透明的窗口覆盖整个桌面(完全透明的窗口不会被点击)。透明window被称为layeredwi

c# - Hook 第三个 X 鼠标按钮?

我用C#编写了一个低级鼠标Hook,它应该捕获XBUTTON事件。对于第一个和第二个xButton,它工作得很好,但是我的鼠标上没有关于第三个xButton的消息。似乎无法捕获该按钮的事件?我有一个游戏鼠标,在前两​​个xButton之间是第三个xButton。当我点击它时,没有任何反应,所以我想编写一个自定义C#Mouse-Hook应用程序来为该按钮编写自定义行为... 最佳答案 没错。第三个X按钮由您的鼠标驱动程序处理,而不是由Windows本身处理。Windows不具有对两个以上X按钮的内置知识或支持。如果没有安装特殊的驱动程

c++ - 捕获全局鼠标滚动,并将自定义鼠标滚动事件发送到应用程序

基本上,首先,我想重现WizMouse的功能或KatMouse.一个相关的super用户问题是here.我需要哪些WindowsAPI?此外,作为第二步,我想到了实现MacOSX滚动加速和像素精确滚动等功能。(基本上,你总是逐个像素地滚动,但是当你快速移动滚轮时,它会比线性加速,例如二次方,加速到滚轮速度。这样,你可以滚动更多更快地滚动到结束一个很长的页面,同时,您可以滚动得更少但更精确。)有没有办法让一些元素只滚动一个像素?(我可以自己实现所有剩余的逻辑。)这个问题是用C++和Winapi标记的,但如果使用其他Windows-API和其他语言更容易,我也愿意接受。

python - 使用Python捕获Windows点击事件

我正在尝试在Windows上使用Python捕获左/右/双击事件。我可以使用win32api执行此操作吗?例如,每次我点击某个地方,我想让它打印出被点击的地方的精确坐标以及点击的类型。有人想给我指出正确的方向吗? 最佳答案 也许PyHook是你要找的 关于python-使用Python捕获Windows点击事件,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7365247/

c# - 如何捕获在 (WPF) 窗口外发生的鼠标事件?

我有一个Window元素,它有WindowStyle="None"和AllowsTransparency="True",因此它没有标题栏和支持透明度。我希望用户能够通过左键单击窗口内的任意位置并拖动来将窗口移动到屏幕上的任何位置。只要按下鼠标左键,窗口就会随着鼠标一起拖动。我能够使此功能正常工作,但有一个异常(exception):当鼠标移出窗口时(例如当在窗口边缘附近按下鼠标左键并且鼠标快速移动时),窗口不再捕获鼠标位置并且不随鼠标一起拖动。这是我用来完成工作的代码隐藏代码:publicPointMouseDownPosition{get;set;}publicPointMouseP

c# - 控制台应用程序鼠标点击 X Y 坐标检测/比较

我有一个游戏,我正在使用C#控制台应用程序开发,纯粹是在继续使用更好的方法之前作为练习。与使用内置按钮功能的Windows窗体应用程序不同,我正在努力获取光标位置(我知道该怎么做)并将其与控制台应用程序中定义的多个区域进行比较也许是像素位置,但我也不知道是否有某种内置的空间单位而不是像素(最后一位是我无法计算的部分)。附言我知道这是笼统的说法,没有提供任何代码,但我觉得不需要它,因为我所要求的只是简要说明如何在控制台应用程序中获取XY坐标,并将它们粘贴到int变量中.非常感谢!:D 最佳答案 找了半天终于找到了thisexample

c# - Visual C# 窗体右键单击按钮

我想在VisualC#中制作一个扫雷类型的游戏,我想在我右键单击和左键单击按钮时发生不同的事情,我该怎么做?我试过这段代码,但它只记录左键点击:privatevoidbutton1_MouseClick(objectsender,MouseEventArgse){if(e.Button==System.Windows.Forms.MouseButtons.Left){MessageBox.Show("Left");}if(e.Button==System.Windows.Forms.MouseButtons.Right){MessageBox.Show("Right");}}

c# - 隧道和冒泡事件何时在 WPF 中有用?

我了解冒泡和隧道的工作原理。但是,我对使用它们感到困惑。原因如下:我想处理鼠标点击事件。MouseDown可以使它起泡,PreviewMouseDown可以使它起泡。但是,MouseDown并不一定意味着用户单击了该控件。可能是用户按下按钮并离开它以取消点击。如果按钮未被点击,我不想更改任何内容。所以我的问题是,冒泡/隧道策略有什么用? 最佳答案 如果事件在RoutedEventArgs中列出,则它是路由事件。路由事件支持Bubble、Tunnel或Direct的RoutingStrategy。让我们看一下Button.Click的

c# - 从鼠标事件中获取 shift/ctrl/alt 状态?

在我的WPF应用程序中,如何获取shift、ctrl和alt键的状态在我的鼠标事件处理程序中?我似乎记得在MFC中您可以从鼠标事件中获取该信息。 最佳答案 假设您仍在鼠标事件处理程序中,您可以检查Keyboard.Modifiers的值.我认为无论如何都无法从事件本身获取修饰符信息,因此您必须直接询问键盘。 关于c#-从鼠标事件中获取shift/ctrl/alt状态?,我们在StackOverflow上找到一个类似的问题: https://stackoverf