"замена" explorer при попытке его открытия

Здесь можно оставить пожелание относительно функций, которых в программе нет, но которые вам хотелось бы в ней видеть.

Модератор: motyara

Ответить
alexgauss1994
Сообщения: 4
Зарегистрирован: Вс окт 19, 2014 6:42 pm
Контактная информация:

"замена" explorer при попытке его открытия

Сообщение alexgauss1994 »

Сделал скрипт для прибития окна explorer при его открытии какой-либо программой (если оно "содержит" какой-то реальный адрес, а не, к примеру, "панель управления")

Код: Выделить всё

#include <Process.au3>
#include <String.au3>

Func GetAddress($addressText)
	if StringInStr($addressText, ": ")>0 then
		Local $arr = _StringExplode($addressText, ": ", 1)
		Return $arr[1]
	else
		Return ""
	endif
EndFunc

Func RunFM($path)
	Run("C:\Unreal Commander\Uncom.exe """ & $path & """")
EndFunc

$addressControlId = 1001
While 1=1
	$wnd = WinGetHandle("")
	$process = WinGetProcess($wnd)
	$processName = _ProcessGetName ($process)
	if $processName="explorer.exe" then
		$address = GetAddress(ControlGetText($wnd, "", $addressControlId))
		if FileExists($address) then
			WinClose($wnd, "")
			RunFM($address)
		endif
	endif
	sleep(100)
Wend
Костыль, да (начиная с постоянно висящего в памяти процесса со скомпиленным скриптом), но всё же лучше "проводника". Хотелось бы иметь что-то подобное в составе Unreal-а (хотя тут уже, ИМХО, подход с постоянно висящим процессом не уместен).

p.s. предыдущая тема как-то не отобразилась, хотя вроде ни сообщений на тему премодерации, ни ошибок не было.

UPD. Пофикшена работа с содержащими пробелы путями, обновленный скрипт в сообщении (см. код выше)
Последний раз редактировалось alexgauss1994 Вт окт 21, 2014 9:47 pm, всего редактировалось 1 раз.
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy »

Но зачем???
alexgauss1994
Сообщения: 4
Зарегистрирован: Вс окт 19, 2014 6:42 pm
Контактная информация:

Re: "замена" explorer при попытке его открытия

Сообщение alexgauss1994 »

Ну вот берем (наверное, почти любой) браузер/торрент-клиент/etc. => "показать в папке" (условно)... И видим таки эксплорер. Скорее всего, если я выбираю такой пункт, а не что-то с его (объекта) открытием - мне нужно его переместить/удалить/переименовать/etc... В общем действие слегка отличное от 1 дабл-клика :-)

А к чему именно такое решение,а не со стороны этой программы - таки не везде можно это поведение изменить.
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy »

Можно менять способ открытия папок в реестре. Под собственную ответственность, естественно ;)
https://forum.unrealcommander.net/viewto ... =22&t=1024
http://bbs.vbstreets.ru/viewtopic.php?f=34&t=44054
alexgauss1994
Сообщения: 4
Зарегистрирован: Вс окт 19, 2014 6:42 pm
Контактная информация:

Re: "замена" explorer при попытке его открытия

Сообщение alexgauss1994 »

Беглое прочтение говорит, что не поможет, т.к. меняется поведение уже в рамках проводника, а не "глобально". Или я ошибаюсь?
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy »

Наверное да. Не помню точно. Но весьма вероятно, что зависит от того, что именно делает программа - default action или явно вызывает проводник.
alexgauss1994
Сообщения: 4
Зарегистрирован: Вс окт 19, 2014 6:42 pm
Контактная информация:

Re: "замена" explorer при попытке его открытия

Сообщение alexgauss1994 »

Ну вот я и клоню к тому, что зависит от программы и поменять если и можно(? В тех, с которыми сталкивался - не замечал.), то не везде.
А такой костыль таки достаточно универсален, хотя наверняка есть лучший метод.
avmaksimov
Сообщения: 405
Зарегистрирован: Чт ноя 08, 2007 9:29 am
Откуда: Москва
Контактная информация:

Re: "замена" explorer при попытке его открытия

Сообщение avmaksimov »

А я с возрастом все больше замечаю, что (меня как будто кто-то подменил) все больше пользуюсь Проводником в описанных случаях... Отображать файлы, запускать на воспроизведение и другие простые операции он выполняет на ура!... UC же полезен, когда нужны вкладки, копирование и много лазить по дисковой структуре.
С уважением, Андрей.
Ответить