HTA 游戏手柄 API(或替代方案)

Posted

技术标签:

【中文标题】HTA 游戏手柄 API(或替代方案)【英文标题】:HTA Gamepad API (or alternatives) 【发布时间】:2016-09-28 20:43:03 【问题描述】:

我正在使用 HTA 构建一个游戏启动器应用程序(类似于 Steam Big Picture),我希望能够使用我的 X360 控制器来控制这个应用程序。 一种方法是使用 Xpadder 并模拟键盘按下,但由于 MS Edge 具有对 Gamepad API 的本机支持,我想知道是否有一种方法可以为 HTA 启用它(例如,可以为 HTA 启用弹性框)。

或者.. 如果不可能,HTA 有什么替代品吗?这意味着我可以用 html5+CSS3+javascript 编写一些东西,让它以全屏方式启动并让它在我的计算机上启动 .bat 文件而不需要任何权限?

【问题讨论】:

我不确定mshta.exe 中的 HTA 引擎是否与 Edge 渲染引擎一起运行,它包含在内是为了向后兼容。自 IE 9 以来,它并没有真正改变 (据我所知,但不要引用我的话) 不确定它是否真的是一个边缘渲染引擎,但它至少是 IE11 渲染引擎,因为弹性框在 IE9 中不起作用。我使用以下标头: 【参考方案1】:

从this answer 到similar-ish question 判断...

我怀疑 HTA 可以在 Windows 10 中运行,但只能在 IE9 模式下运行。如果微软在构建 Edge 时支持 HTA,那将是一个重大转变。

我会得出结论,您将无法在 HTA 中使用 Gamepad API,因为它使用 IE 9 渲染引擎。

最好的办法是自己试一试。


有用的链接

Can I use Gamepad API?

【讨论】:

我试过了。在 Windows 10 上,IE11 不能与 Gamepad API 一起使用,Edge 可以。在某处使用 M$ 页面中的示例 Gamepad API 应用程序,gamepad 在边缘为我工作,但在使用 mshta.exe 运行它后没有工作。我使用了以下标头: 这可能使用 IE11 渲染引擎(因为 IE11 在调试模式下将渲染引擎设置为“Edge”,而 IE11 无处可去被发现)。也就是说,有没有可以在我的计算机上运行 .bat 文件的 HTA 替代品? @doomista 老实说,我不确定mshta.exe 与兼容性标头/元值有什么兼容性。无论哪种方式,它都是一种贬值的技术,尝试像这样使用它会让你更加头疼,而不是值得。 非常适合编写应用程序启动器,这正是我在这里所做的。基本上我现在唯一不能用 HTA 做的就是游戏手柄驱动的输入。元标题确实会影响mshta.exe 的行为(据我所知),其方式与使用开发者工具使用不同的渲染器查看页面的方式相同。而且我也明白这是一项已弃用的技术。这就是我寻求替代方案的原因。

以上是关于HTA 游戏手柄 API(或替代方案)的主要内容,如果未能解决你的问题,请参考以下文章

现在有任何 api 文档可以技术我支持 ios7 游戏手柄吗?

如何通过 HTML 页面从游戏手柄获取/发送数据 [关闭]

浏览器 API 游戏手柄未在 Windows 中检测到

如何检测使用 USB HID API 推送的游戏手柄触发器?

Uinput游戏手柄事件不起作用

游戏手柄 API“gamepadconnected”不起作用