使用JScript读取按键

时间:2011-03-28 17:42:29

标签: keypress wsh jscript

我正在尝试使用Windows脚本宿主(在任何浏览器之外,是我的意图)来执行一个简单的JScript来读取用户的按键,但找不到相应的方法:

function tap(e) {
    ...code...
}
document.onkeypress = tap;

我不是Windows系统编程人员(但是经验丰富的程序员)所以我不熟悉ActiveX小工具和服务等。 WScript或WSShell不提供打开窗口(而不是“文档”)的方法吗?

或者我是否被迫从浏览器运行它以使其工作?似乎过度杀伤......

3 个答案:

答案 0 :(得分:0)

尝试

var tap = function (e) {
  ...code...
}

document.onkeypress = tap;

答案 1 :(得分:0)

Windows Scripting Host不提供任何UI,至少不提供GUI。

如果您使用CScript.exe,则可以使用StdIn,StdOut等。请参阅Wscript.StdIn.Read method

这些是Windows Scripting Host可用的大多数对象:main WSH objects,字典和FileSystem对象派上用场:Dictionary and FileSystem objects

但是如果你想要一个GUI,那么你可以在MSHTA.exe中运行一个HTA文件并使用HTML / CSS / JavaScript来处理你的UI需求并仍然使用WSH对象。

过度破坏?好吧,从您的UI列出您想要的内容。现在,您必须提供访问所有这些功能的机制。您的示例代码显示您希望以HTML-DOM-via-JavaScript方式执行此操作。因此,您需要HTML解析器和DOM支持。看起来您想要访问此时浏览器提供的大部分内容。

答案 2 :(得分:0)

我认为Windows脚本宿主不提供键盘挂钩的API。最可靠的方法是创建一个implements a keyboard hook的COM组件(例如,在C#/ C ++中),并根据需要在JScript中使用该对象的实例。