我想知道如何创建一个控制台应用程序,用于检测用户是否使用鼠标滚轮(屏幕上的任何位置)滚动。
我希望它成为控制台应用程序的原因是我可以在后台运行它。我现在搜索了很多,似乎无法找到我需要的东西。
答案 0 :(得分:1)
您可以阅读此主题:
如果您有自己的控件,则可以通过设计器或代码动态地设置这些内容。但是,鼠标需要位于您的控件之上,以便您将收到该事件。因此,在您的情况下,您需要在消息过滤器上注册。小心,你在那里做的不多。如果您在这个地方做了很多事情,这可能会减慢整个应用程序的速度:
public bool PreFilterMessage(ref Message m)
您也可以在不显示表单的情况下设置Windows窗体项目。这是一个Windows窗体项目的program.cs代码:
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new WindowlessApplicationContext());
}
}
/// <summary>
/// The window less application context.
/// </summary>
internal class WindowlessApplicationContext : ApplicationContext
{
/// <summary>
/// Standard constructor.
/// </summary>
public WindowlessApplicationContext()
{
try
{
//Your code
}
// you mayy add catch here
finally
{
//Close process
Environment.Exit(0);
}
}
}
答案 1 :(得分:0)
实现它的一种方法是通过P / Invoke使用Raw Input。从这里开始:
http://msdn.microsoft.com/en-us/library/ms645543(v=vs.85).aspx,
http://msdn.microsoft.com/en-us/library/ms645536(v=vs.85).aspx.
参考:http://www.codeproject.com/Questions/217948/I-need-to-capture-mouse-events-in-Console