Показать полную графическую версию : Не создавать отдельный процесс explorer.exe при открытии папки
Из программы cmd.exe запускаю такую команду:
explorer.exe /select,"c:\windows\system32\calc.exe"
Ее суть в том, чтобы открыть папку c:\windows\system32 и найти в ней файл calc.exe, выделив его в огромном списке файлов.
Calc.exe - для примера. У меня в скриптах туда подставляется каждый раз новый файл.
Проблема в том, что на каждый вызов этой команды в диспетчере задач появляется отдельный процесс с такими параметрами:
C:\Windows\explorer.exe /factory,{75dff2b7-6936-4c06-a8bb-676a7b00b24b} -Embedding
Со временем их возникает с десяток.
Я замечал, что explorer.exe как-то умеет открывать папки, не создавая лишних процессов в памяти.
Процесс explorer.exe - один всегда висит в памяти.
Не хочу расходовать попусту память, ее мало на ноутбуке.
Можно ли что-то придумать?
Поиском по коду 75dff2b7-6936-4c06-a8bb-676a7b00b24b нашел занимательную статью про шерлока холмса, но как решить мой вопрос - не понял.
test009, на мой взгляд неправильно поставлена задача (https://www.outsidethebox.ms/13148/#_Toc314611149).
суть в том, чтобы открыть папку c:\windows\system32 и найти в ней файл calc.exe, выделив его в огромном списке файлов.
Calc.exe - для примера. У меня в скриптах туда подставляется каждый раз новый файл »
У вас задача папок побольше открыть? Если нет, то надо думать над тем, как автоматизировать задачу, но знаете ее только вы пока.
Зачем вы так?
Задача - "перелететь" к файлу, который редактирую например в Notepad++ или в Visual Studio, в SourceTree или другой программе, которая так не умеет, с помощью хоткея, который я настроил в AutoHotkey для себя.
Для этого я получаю полный путь к файлу и запускаю эту команду, чтобы к нему быстро перелететь по F12.
Зачем вы так? »
Как? Вы ведь фактически спросили "как не запускать новый процесс, запуская новый процесс" :)
Задача - "перелететь" к файлу »
Все-таки рискну еще раз спросить про задачу. Допустим, вы перелетели к файлу. Дальше что? Любуетесь на него?
Допустим, вы перелетели к файлу. Дальше что? Любуетесь на него? »
Дальше - процесс не определен и всегда разный, по ситуации.
Иногда открываю hex-editor-ом, иногда копирую в другую папку или отправляю коллеге по скайпу.
Есть и другой путь — использование Automation. Например:
; Sample
q::
sPath := "C:\Мои проекты\0338"
sFile := "0001.vbs"
oShell := ComObjCreate("Shell.Application")
oShell.Open(sPath)
Sleep, 500
WinGet, hWnd, ID, A
oFolder := oShell.NameSpace(sPath)
oFolderItem := oFolder.ParseName(sFile)
for oWin in oShell.Windows {
if (oWin.HWND = hWnd) {
oWin.Document.SelectItem(oFolderItem, 0x1D)
break
}
}
oFolderItem := ""
oFolder := ""
oWin := ""
oShell := ""
return
(вместо сравнения hwnd можно, например, сравнивать путь папки с искомым).
Попробуйте приспособить под Ваше «Открыть и выделить».
Дальше - процесс не определен и всегда разный, по ситуации.
Иногда открываю hex-editor-ом, иногда копирую в другую папку или отправляю коллеге по скайпу. »
Тогда давно пора перейти на какой-нибудь более вменяемый файловый менеджер.
Задача - "перелететь" к файлу, который редактирую »
Дальше - процесс не определен и всегда разный, по ситуации.
Иногда открываю hex-editor-ом, иногда копирую в другую папку или отправляю коллеге по скайпу. »
В таком случае я бы посоветовал сохраненный поиск (https://www.outsidethebox.ms/9980/#save), поскольку он позволяет быстро отобразить новые файлы заданных типов. Да, нужный файл не выделяется, но он будет сверху, если настроить сортировку/группировку рез-тов поиска.
Бонус: сохраненный поиск доступен в диалогах Открыть/Сохранить как (https://www.outsidethebox.ms/11061/#_Toc277327376), что мега-удобно для отправки файлов.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC