首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何寻找IE浏览器的执行路径

基于某些原因,有些开发者希望能获取到IE浏览器(Internet Explorer)的全路径,这样就可以在二进制执行文件上加上一些选项了。

其实,并不需要这样。

只需要向ShellExecute函数传递”IEXPLORE.EXE”这个参数,它就会有方法找到IE的执行文件并想办法执行它,如下图所示:

这个ShellExecute函数会负责为我们干”脏活”。

另外,如果你只需要打开某个URL地址,可以像下图这样调用:

上述调用会使用用户预定义的WEB浏览器来打开这个URL地址。一般情况下应避免强制使用IE浏览器,我们在此处强制执行该操作,因为该操作可能是为了能够专门在IE浏览器中打开某些页面。

如果你还是希望自行查找路径,也是可以的。这就需要涉及一些更加高级的技术,也即:如何在系统中注册你的应用程序和路径。

在MSDN中有文档描述了一个应用程序在注册表中注册自身的信息的步骤。为了保持兼容性,你需要从注册表中读取某些内容并将它们解析成一系列的属性。

在这种情况下,系统打开IE浏览器和使用API ShellExecute是等效的,它们都会到注册表里的HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE中查询路径信息。这个注册表项的默认值为应用程序的全路径,在启动IE时,这个路径会被结合到系统环境变量中并定位IE浏览器的执行文件。

如果你真的决定这样做,要注意一点:如果注册表的值类型是REG_EXPAND_SZ,则需要调用这个函数:ExpandEnvironmentStrings。有很多开发者都会忽视这一点。

总结

我的观点还是:别瞎折腾,直接使用ShellExecute就好。简单,方便,快捷。

毕竟,人生苦短。

最后

Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助。

本文来自:《How to find the Internet Explorer binary》

最近我写了个东西

正如你们所知道的,拓扑梅尔智慧办公平台(Topomel Box)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能地简单方便。

我想:你值得拥有。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210925A03Q7C00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券