在我的C#应用程序中,我使用MessageFilter作为全局键挂钩as suggested by T Perquin.
这是我目前的代码:
class KeyboardMessageFilter : IMessageFilter
{
public bool PreFilterMessage(ref Message m)
{
if (m.Msg == ((int)Helper.WindowsMessages.WM_KEYDOWN))
{
switch ((int)m.WParam)
{
case (int)Keys.Escape:
// Do Something
return true;
case (int)Keys.Right:
// Do Something
return true;
case (int)Keys.Left:
// Do Something
return true;
}
}
return false;
}
}
当我尝试编译并运行时(以确保语法正确),我收到此错误:
The name 'Helper' does not exist in the current context
。
究竟是什么'助手'以及如何解决此错误?
答案 0 :(得分:2)
看起来WM_KEYDOWN
是一个包含静态或常量变量的类,如Windows消息const int WM_KEYDOWN = 0x100;
。由于您只是使用它,您可以将其添加到您的文件中。
// Create the workbook
XLWorkbook workbook = new XLWorkbook();
workbook.Worksheets.Add("Sample").Cell(1, 1).SetValue("Hello World");
// Prepare the response
HttpResponse httpResponse = Response;
httpResponse.Clear();
httpResponse.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
httpResponse.AddHeader("content-disposition", "attachment;filename=\"HelloWorld.xlsx\"");
// Flush the workbook to the Response.OutputStream
using (MemoryStream memoryStream = new MemoryStream())
{
workbook.SaveAs(memoryStream);
memoryStream.WriteTo(httpResponse.OutputStream);
memoryStream.Close();
}
httpResponse.End();
以下是其他Keyboard Input Notifications,以备不时之需。