如何基于批量或PowerShell中按哪些键来制作IF语句?

时间:2015-11-18 03:20:01

标签: powershell batch-file

我最近有一只很棒的鼠标,发现了背部和背面。前进按钮几乎没用。但是,他们的位置很好所以我决定尝试制作一个小程序。

是否可以制作以下的PowerShell / Batch程序:
1.部署将由键盘快捷键触发的if语句(ALT + RIGHT& ALT + LEFT)
2.一旦if语句被触发,拒绝密钥就像没有发生任何事情一样(最有可能是将密钥发送到脚本而不是当前程序)
3.发送新密钥以完成工作。

这就像重新映射前进/后退按钮 - 没有任何软件,只是一个自制的解决方案。

FYI -

这不起作用:
How to check if a key was pressed in Batch?

1 个答案:

答案 0 :(得分:0)

您可以使用Powershell执行此操作!

您需要使用global windows hook。看起来它可能是WH_KEYBOARD_LL或WH_KEYBOARD钩子。

为此,您的PS脚本需要P / Invoke几个Win32 API并将Win32结构映射到托管结构。

我从来没有对Windows挂钩做任何事情,但是看起来这似乎是适度的(如果不是很严重)复杂。从PS做它可能会使它比C / C ++更复杂。

但是我已经从PS中挂了WndProc,我发现在C ++中实现我需要的功能更容易。从长远来看,这是最初的障碍,因为PS中实现了很多功能。所以这一切都取决于你的情况。