我想知道如何制作一个控制台应用程序,可以检测用户是否使用鼠标滚轮(在屏幕的任何位置都行)。
之所以希望它是一个控制台应用程序,是因为我可以让它在后台运行。我已经搜索了很多,但似乎找不到我需要的东西。
之所以希望它是一个控制台应用程序,是因为我可以让它在后台运行。我已经搜索了很多,但似乎找不到我需要的东西。
您可以阅读这个主题:
如果您拥有自己的控件,您可以通过设计师非常容易地设置这些内容,或者在代码中动态设置。但是,鼠标需要位于您的控件之上,以便您能够接收事件。因此,在您的情况下,您需要在消息过滤器上注册。请注意,在那里不要做太多的事情。如果您在这个地方做得太多,可能会使整个应用程序变慢:
public bool PreFilterMessage(ref Message m)
您也可以设置一个Windows Forms项目,而不必显示一个表单。以下是Windows Forms项目的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);
}
}
}
实现它的一种方法是通过P/Invoke使用原始输入。从这里开始:
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