rPansa
Advanced Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору ru1956, Maza Faka Класс Directory всё же не совсем правильное место для засовывания туда в shell раздела CmdHere, ИМО. Этот класс предназначен более для украшательства (Background, DefaultIcon), поиска (там один-единственный раздел find в shell, и всё), и даже значение shell по умолчанию есть none.. Ну и для shellext'ов системных, от Microsoft. Всё остальное, стороннее, лучше засовывать в общий класс Folder, так оно правильнее будет. Там, кстати, и находятся шеллы на открытие Проводника (explore), и на открытие самой папки (open) в Проводнике, это немного разные вещи, получается Так что лучше (CmdWindowHere.reg): Цитата: REGEDIT4 [HKEY_CLASSES_ROOT\Folder\shell\CmdWindowHere] ; Мы русские или где?.. ('&' - для горячей клавиши) @="Ко&мандная строка" [HKEY_CLASSES_ROOT\Folder\shell\CmdWindowHere\command] @="%SystemRoot%\\system32\\cmd.exe /k pushd \"%1\" | Кодировка -- Windows-1251 (русская), естественно. Если использовать юникодный формат "Windows Registry Editor Version 5.00" вместо старого доброго REGEDIT4, то и сохранять reg-файл желательно в юникоде. Плюс лучше тогда использовать для строк не ANSI-формат REG_SZ, а REG_EXPAND_SZ (это -- hex(02), расширяемый строковый параметр), даже для значений по умолчанию. Штатный REGEDIT этого не умеет, к сожалению..(( Тогда вот что получится (тот же reg-файл, но в юникоде, с комментариями-пояснениями): Цитата: Windows Registry Editor Version 5.00 ; Открыть командную строку в этой папке (CmdWindowHere.reg). ;Ко&мандная строка -- ('&' - для горячей клавиши) [HKEY_CLASSES_ROOT\Folder\shell\CmdWindowHere] @=hex(2):1a,04,3e,04,26,00,3c,04,30,04,3d,04,34,04,3d,04,30,04,4f,04,20,00,\ 41,04,42,04,40,04,3e,04,3a,04,30,04,00,00 ;%SystemRoot%\system32\cmd.exe /k pushd "%1" [HKEY_CLASSES_ROOT\Folder\shell\CmdWindowHere\command] @=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,\ 25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,00,6d,\ 00,64,00,2e,00,65,00,78,00,65,00,20,00,2f,00,6b,00,20,00,70,00,75,00,73,00,\ 68,00,64,00,20,00,22,00,25,00,31,00,22,00,00,00 | Кавычки для условного параметра %1 (имя папки) действительно лучше оставить, а вот вместо прямой команды cd перехода в папку лучше всё-таки использовать команду pushd. Ну и надо избавиться от жёсткой привязки (C:\Windows\...) местонахождения cmd.exe, так будет универсальнее. Кстати, так как любой диск в принципе является папкой, как и любые другие СИСТЕМНЫЕ папки (такие, как Мои документы, Мой компьютер, кнопка ПУСК, даже Корзина, хе-хе..), то пункт контекстного меню "Командная строка" появится и у них..)) Правда, текущей папкой будет кое-где вроде бы становиться не то, но.. вроде бы и то |