1

Я хочу, чтобы IE запускался с аргументами каждый раз, когда он запускается, или он вызывается другим процессом.

Аргумент -nomerge

7 ответов7

2

Перейдите по этому пути 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
2

Я не могу придумать хорошее решение для вашего вопроса, которое не связано с обезьянами с iexplore.exe.

Я не тестировал предложенное ниже решение (которое, честно говоря, я нахожу немного экстремальным, даже если оно может ответить на ваш пост):

  1. Переименуйте C:\Program Files\Internet Explorer\iexplore.exe в C:\Program Files\Internet Explorer\iexplore.orig.exe .

  2. Откройте блокнот, вставьте его и сохраните как C:\Program Files\Internet Explorer\iexplore.bat

    @ эхо выключено
    "C:\Program Files\Internet Explorer\iexplore.orig.exe" -nomerge% *

  3. Используя компилятор пакетных файлов, такой как Quick Batch File Compiler или Batch File Compiler Professional, скомпилируйте iexplore.bat в C:\Program Files\Internet Explorer\iexplore.exe

В этом решении «iexplore.orig.exe -nomerge» будет запускаться при каждом запуске iexplore.exe .

Некоторые заметки:

  1. Вам нужно будет повторять эту процедуру всякий раз, когда Центр обновления Windows заменяет iexplore.exe.
  2. Возможно, вам придется выполнить эту процедуру при загрузке в безопасном режиме.
1

Существует новый параметр реестра для IE8, который, по-видимому, делает то же самое, что и -nomerge . Новое поведение IE8, которое побеждает -nomerge является результатом изменения модели процесса, и вы можете отменить это с помощью параметра реестра. Создайте значение DWORD именем TabProcGrowth в:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main

По умолчанию установлено значение <absent> Сначала вы должны попробовать 0 который будет использовать модель процесса в стиле IE7. Если это делает то, что вы хотите, то также попробуйте 1 который даст вам некоторые новые функции. Числа больше 1 также могут быть полезны. Более подробная информация здесь.

Конечно, вы могли бы заменить iexplore.exe на iexplore.cmd или даже небольшую программу, которая выполняла настоящий iexplore.exe который вы где-то скрыли, новыми аргументами. Это создает несколько проблем, так как сама Windows закроет iexplore.exe новыми версиями и различными механизмами защиты, которые приходят и уходят. Я определенно попробую ключ реестра сначала.

1

Вместо того, чтобы возиться с условно-бесплатными программами, просто используйте скомпилированный язык и создайте второй двоичный файл. Назовите iexplore.exe для iexplore2.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, вероятно, испортит это. Так что держите копию этого двоичного файла в другом месте.

0

Разве это не то же самое, что включить возможность открывать ссылки в новом окне? Настройку можно найти в Сервис-> Свойства обозревателя-> Вкладка Общие-> Вкладки-> Настройки:

альтернативный текст

0

Хорошо функционирующие программы будут использовать ShellExecute / ShellExecuteEx для запуска URL-адресов вместо непосредственного запуска iexplore.exe (чтобы они запускали любой браузер, установленный по умолчанию). Таким образом, вы можете искать в реестре вхождения iexplore.exe , и (вам придется использовать свое суждение здесь, я не буду перечислять все случаи), где он ссылается на исполняемый путь (но не для извлечения его значок), добавьте нужный аргумент. Вам также нужно будет добавить аргумент ко всем ярлыкам, которые указывают на iexplore.exe , которых не должно быть слишком много - в меню «Пуск» и на панели быстрого запуска; возможно на рабочем столе.

0

Можете ли вы запустить его из командного файла?

iexplore.exe -nomerge

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .