如何设置 IE8 默认启动参数?

如何设置 IE8 默认启动参数?

我想将 IE 设置为每次启动时都带参数或者他被另一个进程调用。

论点是-合并

答案1

行为良好的程序将使用ShellExecute/ShellExecuteEx来启动 URL,而不是iexplore.exe直接执行(这样它们就会启动您设置为默认的任何浏览器)。因此,您可以在注册表中搜索 的出现情况iexplore.exe,并且(您必须在这里使用您的判断力,我不会列出所有情况)它指的是可执行路径(但不是为了获取其图标),添加您想要的参数。您还必须将参数添加到指向 的所有快捷方式iexplore.exe,这些快捷方式不应该太多 - 在开始菜单和快速启动栏上;也许在桌面上。

答案2

我想不出一个不涉及操作 iexplore.exe 就能解决您的问题的好方法。

我还没有测试下面提供的解决方案(坦率地说,即使它可能回答你的帖子,我也觉得有点极端):

  1. 重命名C:\Program Files\Internet Explorer\iexplore.exeC:\Program Files\Internet Explorer\iexplore.orig.exe

  2. 打开记事本,粘贴并另存为C:\Program Files\Internet Explorer\iexplore.bat

    @echo off
    "C:\Program Files\Internet Explorer\iexplore.orig.exe" -nomerge %*

  3. 使用批处理文件编译器,例如快速批处理文件编译器或者批处理文件编译器专业版,编译iexplore.batC:\Program Files\Internet Explorer\iexplore.exe

有了这个解决方案,“iexplore.orig.exe -nomerge”将在每次iexplore.exe调用时运行。

一些说明:

  1. 每当 Windows 更新替换 iexplore.exe 时,您都需要重复此过程。
  2. 您可能需要在安全模式下启动时执行此过程。

答案3

浏览到此路径 HKEY_CURRENT _USER\Software\Microsoft\Internet Explorer\Main并设置SessionMerging为 0

或较新的操作系统: HKEY_CURRENT _USER\Software\Microsoft\Internet Explorer\Main并设置FrameMerging为 0。

注册表文件看起来就像这样:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"SessionMerging"=dword:00000000
"FrameMerging"=dword:00000000

答案4

不用摆弄共享软件,只需使用编译语言并制作第二个二进制文件即可。将其命名iexplore.exeiexplore2.exe,将其放在与其一起的目录中,然后就可以了:

#include<windows.h>
#include<shellapi.h>

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR lpCmdLine,
                     int nShowCmd)
{
    ShellExecute(NULL,NULL,"iexplore2.exe","-nomerge",NULL,SW_SHOW);
    return 0;
}

我为你编译了一个二进制文件这里。如果您不相信,您可以使用任何最新的与 Windows 兼容的 C++ 编译器自行编译上述源代码。

如前所述,Windows 的 IE 更新可能会搞乱这一点。因此请在其他地方保留此二进制文件的副本。

相关内容