Я хочу, чтобы IE запускался с аргументами каждый раз, когда он запускается, или он вызывается другим процессом.
Аргумент -nomerge
Я хочу, чтобы IE запускался с аргументами каждый раз, когда он запускается, или он вызывается другим процессом.
Аргумент -nomerge
Перейдите по этому пути 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
Я не могу придумать хорошее решение для вашего вопроса, которое не связано с обезьянами с iexplore.exe.
Я не тестировал предложенное ниже решение (которое, честно говоря, я нахожу немного экстремальным, даже если оно может ответить на ваш пост):
Переименуйте C:\Program Files\Internet Explorer\iexplore.exe
в C:\Program Files\Internet Explorer\iexplore.orig.exe
.
Откройте блокнот, вставьте его и сохраните как C:\Program Files\Internet Explorer\iexplore.bat
@ эхо выключено
"C:\Program Files\Internet Explorer\iexplore.orig.exe" -nomerge% *
Используя компилятор пакетных файлов, такой как Quick Batch File Compiler или Batch File Compiler Professional, скомпилируйте iexplore.bat
в C:\Program Files\Internet Explorer\iexplore.exe
В этом решении «iexplore.orig.exe -nomerge» будет запускаться при каждом запуске iexplore.exe
.
Некоторые заметки:
Существует новый параметр реестра для 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 новыми версиями и различными механизмами защиты, которые приходят и уходят. Я определенно попробую ключ реестра сначала.
Вместо того, чтобы возиться с условно-бесплатными программами, просто используйте скомпилированный язык и создайте второй двоичный файл. Назовите 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, вероятно, испортит это. Так что держите копию этого двоичного файла в другом месте.
Разве это не то же самое, что включить возможность открывать ссылки в новом окне? Настройку можно найти в Сервис-> Свойства обозревателя-> Вкладка Общие-> Вкладки-> Настройки:
Хорошо функционирующие программы будут использовать ShellExecute
/ ShellExecuteEx
для запуска URL-адресов вместо непосредственного запуска iexplore.exe
(чтобы они запускали любой браузер, установленный по умолчанию). Таким образом, вы можете искать в реестре вхождения iexplore.exe
, и (вам придется использовать свое суждение здесь, я не буду перечислять все случаи), где он ссылается на исполняемый путь (но не для извлечения его значок), добавьте нужный аргумент. Вам также нужно будет добавить аргумент ко всем ярлыкам, которые указывают на iexplore.exe
, которых не должно быть слишком много - в меню «Пуск» и на панели быстрого запуска; возможно на рабочем столе.
Можете ли вы запустить его из командного файла?
iexplore.exe -nomerge