我有一些应用程序,当用户按下键盘上的特定键时要启动这些应用程序,为此,我想使用WndProc方法。
我在WinForms应用程序中成功做到了这一点。我想开发一个Windows服务来实现这一目标。 尝试在Windows服务中使用代码时出现以下错误。
以下是代码段:
protected override void WndProc(ref Message keyPressed)
{
Keys keyData = ((Keys)((int)((long)keyPressed.WParam))) | Control.ModifierKeys;
if (keyPressed.LParam.ToInt32() == hotKey1)
{
//ACTION 1
}
else if (keyPressed.LParam.ToInt32() == hotKey2)
{
//ACTION 2
}
else if (keyPressed.LParam.ToInt32() == hotKey3)
{
//ACTION 3
}
else if (keyPressed.LParam.ToInt32() == hotKey4)
{
//ACTION 4
}
base.WndProc(ref keyPressed);
}
protected override CreateParams CreateParams
{
get
{
var cp = base.CreateParams;
cp.ExStyle |= 0x80; // Turn on WS_EX_TOOLWINDOW
return cp;
}
}
所以有人可以建议对此采取什么可能的解决方案吗?