【发布时间】:2023-04-04 13:28:01
【问题描述】:
我正在尝试在 Windows 的后台运行一个 C# 程序,该程序将打印“Hello!”在看到用户点击了他或她的鼠标 10 次之后。但不只是在控制台窗口中,在屏幕上的任何位置。
以下用于点击跟踪的事件处理程序来自 msdn.microsoft.com:
private void OnMouseDownClickCount(object sender, MouseButtonEventArgs e) {
// Checks the number of clicks.
if (e.ClickCount == 1) {
// Single Click occurred.
lblClickCount.Content = "Single Click";
}
if (e.ClickCount == 2) {
// Double Click occurred.
lblClickCount.Content = "Double Click";
}
if (e.ClickCount >= 3) {
// Triple Click occurred.
lblClickCount.Content = "Triple Click";
}
}
但是,我不确定如何真正使用这个。当我在任何地方添加这个函数时,MouseButtonEventArgs 类型是未定义的。
我需要什么“使用”语句?我如何才能真正让这段代码正常运行——我是否从main 调用它一次?我该怎么称呼它?
编辑:这是显示 Visual Studio 不理解 MouseButtonEventArgs 的图片:
【问题讨论】:
-
为了捕捉鼠标事件,您必须创建一个 WinForms 或 WPF 项目。
-
改用 MouseClicke 和 MouseDoubleClick 事件
-
你到底想做什么?
-
我试图让一个 C# 程序在后台运行,该程序在运行时计算屏幕上任意位置的点击次数。我不希望它必须在任何 C# 窗口中,而是在屏幕上的任何位置。
-
要捕获点击anywhere内置事件不会削减它,而是您需要 SetWindowsHookEx+WH_MOUSE_LL 例如stackoverflow.com/questions/11607133/global-mouse-event-handler
标签: c# .net windows winapi events