如何修改HTA代码调用系统默认浏览器替代IE打开链接?
解决HTA调用系统默认浏览器打开链接的问题
你尝试用defaultbrowser.application这类COM对象调用默认浏览器的思路走不通,因为不同浏览器没有统一的自动化对象模型,不像IE有标准的InternetExplorer.Application可以直接调用。要在HTA里打开系统默认浏览器,正确的做法是借助WScript.Shell触发系统的URL关联机制。
修改后的完整代码
Sub sbExitHTA ' 创建WScript.Shell对象,用于启动系统关联程序 Dim shell Set shell = CreateObject("WScript.Shell") ' 用Run方法打开完整URL,系统会自动调用默认浏览器 shell.Run "https://yahoo.com" ' 关闭当前HTA窗口 Self.Close() End Sub
关键说明
WScript.Shell.Run方法会让Windows根据URL的协议(这里是https://),自动启动注册为默认的浏览器程序打开链接,这是跨浏览器通用的方案。- 必须写完整的URL(包含
http://或https://),如果只写yahoo.com,系统可能无法识别为网页链接,会当成本地文件处理。 - 完全不需要再创建IE对象,用Shell启动的方式可以直接替代原来的IE调用逻辑。
内容的提问来源于stack exchange,提问作者Sir Blaze
相关产品推荐
相关产品推荐

