Вопрос или проблема
Я пользователь QTTabBar, который позволяет пользователям Windows использовать вкладочное управление в Проводнике Windows. При использовании различных программ, которые имеют кнопки «Открыть в Проводнике Windows», появляется новое окно Проводника Windows, чего я хочу избежать.
В QTTabBar у нас обычно есть два варианта при открытии директории через правый клик:
- Открыть в новой вкладке
- Открыть в новом окне
Я пытаюсь установить, является ли поведение открытия нового окна из внешних приложений результатом работы Windows или QTTabBar, и может ли QTTabBar переопределить это поведение, открыв ссылку в новой вкладке вместо нового окна. Вся причина в том, что открытие ссылок Проводника Windows в новых окнах противоречит цели вкладочного управления.
Я пытался попросить о помощи на форумах QTTabBar, но сайт, похоже, устарел, и никто не может там писать.
ПРАВКА – Я также попробовал одно из предложений в ответе ниже, но это не сработало, несмотря на выход из системы и повторный вход:
- Окно -> Список захвата и исключений – включить захват окна, также через
ShellExecuteHooks
:
Использую QTTabBar версии 1038 на Windows 10 Pro
Да, есть настройки для открытия папок в новой вкладке:
- Окно -> Список захвата и исключений – включить захват окна, также через
ShellExecuteHooks
- Я также рекомендую оставить Вкладка -> Активировать новую вкладку, так как без этого она кажется немного более багованной
Смотрите документацию и важное примечание там:
«Захват» означает предотвращение открытия окна папки, вместо этого открывается вкладка, представляющая папку. В настоящее время QTTabBar может захватывать окна папок в следующих случаях:
- Когда папка открывается из меню «Пуск», списка задач и рабочего стола.
- Когда путь к папке запускается другими приложениями с использованием API ShellExecute/ShellExecuteEx.
- Нажата клавиша Win + >kbd>E. (Windows7/8)
Обратите внимание, что окно папки, открытое при создании нового процесса explorer.exe, не будет захвачено.
Это означает, что поддержка ограничена. Ситуации, когда я заметил, что открываются новые окна:
- открытие нестандартных местоположений, таких как панель управления или корзина
- запуск папок из различных приложений, которые, по-видимому, используют разные API или создают новый процесс
explorer.exe
Ответ или решение
Чтобы предотвратить открытие новых окон в QTTabBar при использовании кнопок "Открыть в проводнике Windows" в различных приложениях, необходимо настроить некоторые параметры и учитывать ограничения, связанные с поведением самой системы.
Понимание Проблемы
QTTabBar — это расширение для Проводника Windows, которое добавляет функциональность вкладок, позволяя пользователям более эффективно управлять несколькими папками одновременно. Однако, когда вы открываете папки из некоторых приложений, новое окно Проводника может открываться вместо новой вкладки QTTabBar, что снижает удобство работы.
Настройки QTTabBar
1. Задайте параметры захвата окон
В QTTabBar есть функция, позволяющая "захватывать" окна проводника, чтобы вместо их открытия в новом окне, открывать в новой вкладке. Для этого выполните следующие действия:
- Откройте QTTabBar.
- Перейдите в меню Окно (Window) и выберите Список захвата и исключений (Capturing and Exclusion List).
- Убедитесь, что опция Включить захват окон (Enable Window Capture) активирована, включая использование
ShellExecuteHooks
.
Эта функция позволяет QTTabBar захватывать некоторые типы вызовов для открытия папок.
2. Активируйте вкладки при их создании
Рекомендуется также включить опцию Активировать новую вкладку (Activate New Tab):
- Перейдите в меню Вкладка (Tab).
- Убедитесь, что опция Активировать новую вкладку включена.
Это обеспечит более плавную работу с вкладками и улучшит взаимодействие пользователя с QTTabBar.
Знайте Ограничения
Несмотря на настройки, необходимо учитывать ограничения QTTabBar, о которых упоминает их документация. Характер поведения QTTabBar описывается так:
- Захват папок: QTTabBar может захватывать окна проводника из определённых источников — например, из меню "Пуск", списка задач и контекстных меню приложений, использующих API
ShellExecute/ShellExecuteEx
. - Ограниченные сценарии: Если папки открываются с помощью нестандартных приложений или по путям, приводящим к созданию нового процесса
explorer.exe
, QTTabBar может не сможет отреагировать должным образом.
Заключение
Для того чтобы предотвратить открытие новых окон в QTTabBar, необходимо правильно настроить параметры захвата и активации новых вкладок. Однако не забывайте о специфических условиях, которые могут препятствовать успешному выполнению этих настроек. Если проблема сохраняется, возможно, стоит рассмотреть альтернативные методы работы с проводником Windows или дополнительные надстройки, которые могут улучшить управление вкладками.