我正在开发一个应用程序,将用户的眼球运动与光标移动进行映射,因此开发了一个免费光标控制系统。双击计时器事件
我正在使用Open CV库的.NET Wrapper for C#,即Emgu CV进行开发。
我被困在一个点上,我想打开一个文件/文件夹,这样当光标放在文件/文件夹上时,比如说3到5秒,文件/文件夹应该打开或者只执行一个双精度传统鼠标的点击事件。
我可以用什么来解决这个问题?
我正在开发一个应用程序,将用户的眼球运动与光标移动进行映射,因此开发了一个免费光标控制系统。双击计时器事件
我正在使用Open CV库的.NET Wrapper for C#,即Emgu CV进行开发。
我被困在一个点上,我想打开一个文件/文件夹,这样当光标放在文件/文件夹上时,比如说3到5秒,文件/文件夹应该打开或者只执行一个双精度传统鼠标的点击事件。
我可以用什么来解决这个问题?
Timer timer = new System.Timers.Timer(5000);//5 seconds
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
private void form_MouseHover(object sender, System.EventArgs e)
{
timer.Start();
}
private void form_MouseLeave(object sender, System.EventArgs e)
{
timer.Stop();
}
void timer_Elapsed(object sender, ElapsedEventArgs e)
{
timer.Stop();
OpenFileOrFolder();//Edit : implement your file/folder opening logic here
}
我想知道'OpenFileOrFolder()'是什么方法! – ykombinator 2012-02-02 08:30:40
请参阅编辑。实施代码非常明显,主题为 – 2012-02-02 12:20:19
的2次谷歌点击哦,不!我认为这是一些方法..你知道!好的,我明白了!无论如何,感谢您的帮助! – ykombinator 2012-02-02 12:39:33
您是否将眼控映射到鼠标指针? MouseHover事件可能是有用的:
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.mousehover.aspx
除了的MouseEnter,鼠标离开,等
如果你控制用眼一个单独的元素(即,而不是鼠标),然后我必须在WPF中做类似的事情。最终归结为将控制坐标映射到鼠标位置,在该控件的边界内计算时间,然后调用鼠标单击事件处理程序。
我猜你需要打破它:
对1,我会寻找在:capturing WM_MOUSEMOVE如果你想要你自己的'悬停'的定义。例如,对于您可以容忍的移动量有更大的阈值,并且仍然认为它是“悬停”。或者,你可以使用操作系统定义的阈值,并查找WM_MOUSEHOVER
对于2,SendInput应该让你有
我假设在这里,你不真正关心每本身的鼠标下什么。如在,你不会做不同的行为,取决于鼠标下的内容。例如,当您将鼠标悬停在标题栏上时,您会发送双击,以及是否将鼠标悬停在文件上。
This article项目建立了一个Spy ++风格的应用程序,这应该有所帮助。
恩,一个计时器?到目前为止,你有什么? – Stu 2012-02-01 18:05:57
这只是一个我愿意实现的可选功能!我还有其他功能,如眨眼映射到左右点击! – ykombinator 2012-02-01 18:07:52
你的意思是你想让它与Windows资源管理器一起使用吗?所以你的程序需要能够判断光标是否在可点击的东西上徘徊? – Blorgbeard 2012-02-01 18:18:56