使用 JScript 读取按键
我正在尝试使用 Windows 脚本宿主(在任何浏览器之外,这是我的意图)做一个简单的 JScript 来读取用户按键,但找不到一种方法来完成以下操作:
function tap(e) {
...code...
}
document.onkeypress = tap;
我不是 Windows 系统编程人员(但是一个经验丰富的程序员),所以我不熟悉 ActiveX 小工具和服务等。 WScript 或 WSShell 没有提供打开窗口(而不是“文档”)的方法吗?
或者我是否被迫从浏览器运行它才能使其工作?看来太过分了...
I am trying to do a simple JScript using the Windows Script Host (outside any browser, was my intent) to read users keypresses, but can't find a way to do what amounts to:
function tap(e) {
...code...
}
document.onkeypress = tap;
I'm no Windows systems programming guy (but a seasoned programmer) so I'm unfamiliar with ActiveX gadgets and services and the like. Doesn't WScript or WSShell provide a way to open a window (instead of the 'document')?
Or am I forced to run this from a browser to make it work? Seems overkill...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
Windows Scripting Host 不提供任何 UI,至少不提供 GUI。
如果您使用
CScript.exe
,则可以使用 StdIn、StdOut 等。请参阅 Wscript.StdIn.Read 方法。这些是可用于 Windows 脚本主机的大多数对象: main WSH 对象、字典和 FileSystem 对象派上用场:字典和文件系统对象
但是,如果您想要 GUI,那么您可以在 MSHTA.exe 中运行 HTA 文件,并使用 HTML/CSS/JavaScript 来处理您的 UI 需求,同时仍然使用 WSH 对象。
矫枉过正?好吧,列出您想要从 UI 中获得的内容。现在,您必须提供一种访问所有这些功能的机制。您的示例代码表明您希望以类似于 HTML-DOM-via-JavaScript 的方式来完成此操作。因此,您需要 HTML 解析器和 DOM 支持。看起来您希望访问浏览器此时提供的大部分内容。
Windows Scripting Host doesn't provide any UI, well, not a GUI at least.
If you use
CScript.exe
then you can use StdIn, StdOut, etc. See Wscript.StdIn.Read method.These are most of the objects available for Windows Scripting Host: main WSH objects, the dictionary and FileSystem objects come in handy: Dictionary and FileSystem objects
But if you want a GUI, then you can run an HTA file in MSHTA.exe and use HTML/CSS/JavaScript to handle your UI needs and still use the WSH objects.
Overkill? Well, list what you want from your UI. Now, you'd have to provide a mechanism for accessing all those features. And your example code shows you'd want to do it in a HTML-DOM-via-JavaScript-like manner. So, you'd need an HTML parser and DOM support. Looks like you want access to most of what a browser provides at that point.
尝试
Try
我不认为 Windows 脚本宿主为键盘挂钩提供 API。最可靠的方法可能是创建一个实现键盘挂钩的 COM 组件(例如,在 C#/C++ 中)并根据需要在 JScript 中使用该对象的实例。
I don't think the Windows Script Host provides an API for keyboard hooks. The most reliable way to do this may be to create a COM component that implements a keyboard hook (in C#/C++, for example) and use an instance of that object in JScript as needed.