在Windows中检测全局双击
Detect Double Click Globally in Windows
我想编写一个在后台运行的Windows程序,并打印出下一次鼠标双击事件发生的确切时间(精确到毫秒)。具体来说,我想要双击桌面上某个.exe文件的确切时间。有没有办法做到这一点?如果有,你能提供一些简单的示例代码吗?
制作Windows挂钩可能是最好的解决方案。查看挂钩上的文档。
http://msdn.microsoft.com/en-us/library/windows/desktop/ms632589%28v=vs.85%29.aspx
看看这个演示:
http://code.msdn.microsoft.com/windowsdesktop/CppWindowsHook-06957865
在某些情况下,如silverlight,您没有鼠标双击事件,因此您可以检查鼠标按下的时间和位置,并将其与下一次鼠标按下的时刻和位置进行比较,以模拟双击动作。它是这样的:
double mouseVerticalPosition;
double mouseHorizontalPosition;
DateTime clickedTime;
bool IsSecondClick = false;
void button_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if(IsSecondClick)
{
IsSecondClick = false;
if ((y - mouseVerticalPosition == 0) & y - mouseHorizontalPosition == 0) &
clickedTime - DateTime.Now < SOMETIME )
{
// mouse double click happenes
}
}
else
{
IsSecondClick = true;
clickedTime = DateTime.Now;
mouseVerticalPosition = e.GetPosition(null).Y;
mouseHorizontalPosition = e.GetPosition(null).X;
}
}
相关文章:
- 我的程序有一个保存配置文件的GUI,如何双击此配置文件以直接加载带有配置数据的GUI?
- C++,Qt:仅在双击后编辑qtablewidget项目
- 双击更改 mfc 中列表控件中的行的颜色
- C++MFC编辑框处理双击
- 双击滑块手柄时如何发出信号
- C/C++ 检测双击 TVItem 的常用控件
- 在使用 c++ 的 win32 api 中,我想跟踪双击和三次单击等
- 在树状视图中双击后焦点丢失
- MFC功能区主页按钮双击关闭应用程序
- QGraphicsScene 中的 QPushButton 需要双击而不是单击
- 处理WM_POINTER消息时,如何检测双击/点击
- 双击编译C++ Unix 可执行文件不会打开现有文件以从中读取信息
- QListWidget 项目单击和项目双击 - 如果双击,则阻止单击
- 可执行文件无法在双击执行时创建新文件
- OS X 双击速度
- 双击(触摸)按屏幕按钮的原因可能是什么,该按钮通过单击鼠标按下
- 如何区分OpenCV中的点击和双击
- 在Windows中检测全局双击
- 如何在mfc中处理单击和双击同一按钮
- 避免双击调整窗口大小