0

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

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

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

或者我是否被迫从浏览器运行它以使其工作?好像有点矫枉过正...

4

3 回答 3

0

尝试

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

document.onkeypress = tap;
于 2011-03-28T18:21:38.523 回答
0

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

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

这些是 Windows Scripting Host 可用的大部分对象:主要 WSH 对象、字典和 FileSystem 对象派上用场:Dictionary 和 FileSystem 对象

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

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

于 2011-03-28T18:45:59.283 回答
0

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

于 2011-03-28T19:44:27.463 回答