Удаляем программы из списка автозагрузки с помощью редактора реестра
Несмотря на то, что сегодня можно скачать массу оптимизаторов, позволяющих убрать программы из автозапуска, а последние версии Windows и вовсе содержат инструменты для управления этим параметром, использование редактора реестра не утрачивает актуальность.
Дело в том, что от большинства вредоносного ПО просто невозможно избавиться другим путём, ведь после удаления оно начнёт снова устанавливается при следующей загрузке. Однако, удаление определённых файлов из реестра позволит раз и навсегда решить проблему.
Где найти разделы реестра, отвечающие за автозагрузку?
« Выполнить » ( R+Win ) – regedit – клавиша Enter. Таким образом вы попадаете в редактор реестра.
Нас интересует папка Run , расположенная в левой части окна. У новичков может уйти достаточно много времени на её поиск, ведь они не знают, что она расположена по одному из следующих путей:
• HKEY_LOCAL_MACHINE – Software – Microsoft – Windows – CurrentVersion — Run
• HKEY_CURRENT_USER — Software – Microsoft –Windows – CurrentVersion – Run
Отмечу, что элементы автозагрузки находятся и в других разделах, но я бы не советовал рядовым пользователям отправляться туда, чтобы не нарушить работу системы.
Попав в нужную папку, вы увидите список файлов. Их имена, как правило, совпадают с названиями программ, загрузка которых и будет происходить при запуске системы. Если ваш компьютер был заражён вредоносным ПО, то здесь вы обнаружите массу названий, состоящих из букв и цифр, расположенных в случайном порядке. Убирайте их все без раздумий, даже если они представляются системными файлами.
Какие программы лучше не трогать?
Ни в коем случае не удаляйте из автозагрузки драйверы, особенно те, которые обеспечивают корректную работу графических процессоров. Это позволит избежать возникновения существенных сбоев и сэкономить время, которые вы бы потратили на возвращение упомянутого ПО в автозапуск.
Есть «хитрые» программы, которые мониторят наличие себя в реестре и добавляются снова в случае удаления. Советую перейти в настройки этого ПО и отключить подобную возможность. Стоит отметить, что аналогичную тактику, чаще всего, используют всякие назойливые бесполезные программы, появившиеся на вашем ПК лишь потому, что вы забыли убрать несколько «галочек» при установке.
Автозагрузка в Windows
Сегодня сложно найти организацию, которая не подвергалась бы вирусным атакам. И хотя практически везде уже установлено антивирусное ПО, иногда возникает необходимость вручную посмотреть, где же в реестре стартует то или иное вредоносное ПО.
Безмалый В.Ф.
MVP Consumer Security
Сегодня сложно найти организацию, которая не подвергалась бы вирусным атакам. И хотя практически везде уже установлено антивирусное ПО, иногда возникает необходимость вручную посмотреть, где же в реестре стартует то или иное вредоносное ПО, причем даже не обязательно вредоносное. При поиске резидентного вредоносного ПО нас не могут не волновать следующие вопросы:
- Как осуществляется автозагрузка?
- Где найти список программ, загружаемых автоматически?
- Как отключить соответствующий список автозагрузки?
Именно этому и будет посвящена эта статья.
Существует много способов автозагрузки. Ниже приведены несколько вариантов. Надеюсь, что это сможет вам помочь в розыске и удалении вредоносного ПО из автозагрузки.
Способы автозагрузки
Реестр
В реестре Windows 7 автозагрузка представлена в нескольких ветвях:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] ‐ программы, запускаемые при входе в систему.
Программы, которые запускаются в этом разделе, запускаются для всех пользователей в системе (рис.1).
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce] ‐ программы, запускаемые только один раз при входе пользователя в систему. После этого ключи программ автоматически удаляются из данного раздела реестра.
Программы, которые запускаются в этом разделе, запускаются для всех пользователей в системе.
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run] ‐ программы, которые запускаются при входе текущего пользователя в систему
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce] ‐ программы, которые запускаются только один раз при входе текущего пользователя в систему. После этого ключи программ автоматически удаляются из данного раздела реестра.
Например, чтобы автоматически запускать Блокнот при входе текущего пользователя, открываем Редактор реестра (regedit.exe), переходим в раздел
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run] и добавляем следующий ключ:
«NOTEPAD.EXE»=»C:\WINDOWS\System32\notepad.exe»
Использование групповой политики для автозапуска
Откройте оснастку «Групповая политика» (gpedit.msc), перейдите на вкладку «Конфигурация компьютера ‐ Административные шаблоны ‐ Система». В правой части оснастки перейдите на пункт «Вход в систему». (рис.2).
По умолчанию эта политика не задана, но вы можете добавить туда программу: включаем политику, нажимаем кнопку «Показать ‐ Добавить», указываем путь к программе, при этом если запускаемая программа находится в папке ..WINDOWS\System32\ то можно указать только название программы, иначе придется указать полный путь к программе.
Фактически в данном разделе локальной групповой политики можно указать дополнительную программу или документ, который будет выполняться при входе пользователя в систему.
Внимание! Данный пункт политики доступен в Конфигурации компьютера и Конфигурации пользователя. Если заданы оба пункта политики, то вначале будет запущена программа из Конфигурации компьютера, а затем уже пользователя.
При этом в системном реестре в разделе [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies] создается подраздел \Explorer\Run с ключами добавленных программ.
Пример:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run]
«1»=»notepad.exe»
В итоге получаем запуск Блокнота (рис 3).
Аналогично задается автозапуск для текущих пользователей, в оснастке «Групповая политика» это путь «Конфигурация пользователя ‐ Административные шаблоны ‐ Система» (рис 2), а в реестре раздел [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]
Внимание! При этом программы из этого списка не отображаются в списке программ доступных для отключения в msconfig.exe, а также определяются не всеми менеджерами автозагрузки.
Игнорировать списки автозагрузки программ выполняемых однажды
Настраивается с помощью групповой политики: «Конфигурация компьютера ‐ Административные шаблоны ‐ Система — Вход в систему ‐ Не обрабатывать список однократного запуска программ»
Если эту политику включить, то не будут запускаться программы, запускаемые из списка
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce] Если эта политика
включена, в реестре создается следующий ключ:
Так же настраивается политика для текущих пользователей: «Конфигурация пользователя ‐ Административные шаблоны ‐ Система — Вход в систему ‐ Не обрабатывать список однократного запуска программ» Параметры реестра:
Назначенные задания
Программы могут запускаться с помощью «Планировщика заданий». Посмотреть список установленных заданий, а также добавить новое можно так: «Пуск ‐ Все программы ‐ Стандартные ‐ Служебные — Планировщик заданий» ‐ при этом откроется окно Планировщика заданий, в котором отображены назначенные задания (рис.4).
Чтобы добавить новое задание, нужно из меню «Действия» выбрать пункт «Создать простую задачу» (рис.5).
Запуск программ с помощью этого мастера возможен однократно, при входе в Windows, при включении компьютера, а также по расписанию.
Папка «Автозагрузка»
Папка, в которой хранятся ярлыки для программ запускаемых после входа пользователя в систему. Ярлыки в эту папку могут добавляться программами при их установке или пользователем самостоятельно. Существует две папки ‐ общая для всех пользователей и индивидуальная для текущего пользователя. По умолчанию эти папки находятся здесь:
.. \Users\All Users\Microsoft\Windows\Start Menu\Programs\Startup ‐ это папка, программы из которой будут запускаться для всех пользователей компьютера.
%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup ‐ это папка, программы из которой будут запускаться для текущего пользователя.
Посмотреть какие программы у вас запускаются таким способом можно открыв меню «Пуск ‐ Все программы ‐ Автозагрузка». Если вы создадите в этой папке ярлык для какой-то программы, она будет запускаться автоматически после входа пользователя в систему.
Смена папки автозагрузки
Windows считывает данные о пути к папке «Автозагрузка» из реестра. Этот путь прописан в следующих разделах:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
«Common Startup»=«%ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup» ‐ для всех пользователей системы.
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
«Startup»=«%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup»
‐ для текущего пользователя. Сменив путь к папке, мы получим автозагрузку всех программ из указанной папки.
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
«Startup»=»c:\mystartup» ‐ система загрузит все программы, ярлыки которых находятся в папке c:\mystartup\, при этом папка «Автозагрузка» все так же будет отображаться в меню «Пуск», а если у пользователя в ней ничего не было, то он и не заметит подмены.
Подмена ярлыка для программы из списка автозагрузки
Допустим у вас установлен пакет Acrobat. Тогда в папке «Автозагрузка» у вас будет находиться ярлык «Adobe Reader Speed Launch» ‐ этот ярлык устанавливается туда по умолчанию. Но вовсе необязательно этот ярлык ссылается именно на соответствующее приложение ‐ вместо него может быть запущена любая другая программа, тем более что на функциональности Acrobat это не скажется.
Добавление программы к программе запускаемой из списка автозагрузки
Модификация предыдущего варианта ‐ одновременно с загрузкой какой-либо программы из списка автозагрузки у вас будет стартовать другая программа ‐ дело в том, что можно «склеить» два исполняемых файла в один и они будут запускаться одновременно. Существуют программы для такой «склейки». Или ярлык может ссылаться на командный файл, из которого и будут запускаться как оригинальная программа из списка, так и добавленные посторонние программы.
Посмотреть список автоматически загружаемых программ можно открыв программу «Сведения о системе» (откройте «Пуск ‐ Все программы ‐ Стандартные ‐ Служебные ‐ Сведения о системе» или наберите msinfo32.exe в командной строке) и перейдя в пункт «Программная среда ‐ Автоматически загружаемые программы». Программа «Свойства системы» отображает группы автозагрузки из реестра и папок «Автозагрузка» (рис.6).
Другая программа, позволяющая посмотреть список программ автозагрузки ‐ «Настройка системы» (для запуска наберите msconfig.exe из командной строки). Эта программа кроме просмотра списка автозагрузки предоставляет возможность отключения всех пунктов автозагрузки (вкладка «Общие») или выборочных программ (вкладка «Автозагрузка»).
Заключение
Безусловно, сведения, приведенные в данной статье нельзя считать исчерпывающими, однако, надеюсь, они помогут вам в нелегком труде борьбы с вредоносным ПО.
Вадим Стеркин
Попробуйте в окне «Выполнить» ( Win + R ) ввести wmplayer и нажать Enter — откроется Windows Media Player. Теперь сделайте то же самое в командной строке. Проигрыватель не запустится, потому что не найден путь к нему! Почему так происходит?
Читатель блога Андрей поинтересовался по почте, в каких случаях для запуска исполняемых файлов не требуется вводить полный путь к ним. Вопрос показался мне элементарным, и я кратко предложил читателю обратить внимание на переменную PATH.
Переменная PATH
Переменная среды PATH содержит пути, в которых Windows при выполнении команды автоматически ищет исполняемые файлы (EXE, CMD, VBS и т.д.). Изначально в переменную внесены только основные системные расположения, поэтому программы из папок Windows и System32 можно запускать, не указывая полный путь.
Как посмотреть содержимое переменной PATH
Некоторые программы при установке прописывают туда путь к своей папке, в чем вы наверняка убедитесь, выполнив в консоли команду path, показывающей системные и пользовательские переменные вместе.
Когда исполняемый файл находится в одном из расположений, известных Windows, вводить полный путь к файлу необязательно. Я использую это свойство операционной системы, чтобы быстро запускать любимые инструменты Sysinternals, утилиты Nirsoft и другие программы из своего сундучка (на рисунке видно, что в PATH добавлена папка Tools).
Как добавить свои пути к переменной PATH
Вы можете добавить собственные пути, изменив системную переменную PATH, либо создав пользовательскую переменную с таким же именем. Разницу между типами переменных я объяснял в рамках одной из викторин. Там же рассказывается, как изменять переменные среды в графическом интерфейсе. Обратите внимание, что пути разделяются точкой с запятой.
Можно быстро добавить свои пути в PATH из командной строки с помощью утилиты setx, входящей в состав Windows 7. Ниже приводится пример добавления пути C:\myfolder в системную переменную PATH (командная строка должна быть запущена от имени администратора).
Сначала с помощью команды reg считывается список путей из системной переменной PATH, хранящейся в реестре. Затем команда set задает переменную newpath с нужным путем в рамках текущей сессии командной строки, а команда setx /m делает новый путь постоянным для системной переменной (параметр /m).
Пользовательскую переменную можно задать без прав администратора, применив аналогичный подход. Добавление нового пути к имеющейся пользовательской переменной PATH осуществляется так:
Учтите, что код выше рассчитан на выполнение в командной строке. В командном файле (CMD) символы процента в первой строке должны быть двойными.
Строго говоря, здесь можно было обойтись и без setx, поскольку reg может не только считывать данные из реестра, но и записывать их туда. Но во многих случаях с setx проще работать за счет более компактного синтаксиса.
Конечно, я не расписывал все это так подробно для Андрея, а просто задал ему направление. Однако на следующий день он написал мне, что все это знал (я — посредственный телепат 🙂 и задал вопрос, которым я начал сегодняшний рассказ. Это было уже интереснее, и я пообещал раскрыть тему в блоге!
Раздел реестра App Paths
Действительно, не указывая полный путь, можно запустить некоторые стандартные программы Windows из окна «Выполнить», но не из командной строки. Помимо проигрывателя Windows Media, это, например, Paint (mspaint) и Wordpad (wordpad). То же самое верно и для приложений MS Office – проверьте команду excel или winword!
Разница между окном «Выполнить» и командной строкой заключается в том, что оболочка Windows (explorer) обладает более широкими возможностями, чем консольный интерпретатор команд. В данном случае все дело в функции ShellExecuteEx, которой снабжена оболочка. Когда вы запускаете исполняемый файл без указания полного пути к нему, функция выполняет поиск в:
- текущей папке
- папках Windows и System32
- разделе реестра
Как работает раздел App Paths
Давайте посмотрим на работу App Paths на примере Windows Media Player.
- создан подраздел с псевдонимом исполняемого файла (в данном случае – это wmplayer.exe)
- в параметре По умолчанию указан полный путь к файлу. Если в пути к файлу используется переменная, параметр должен быть расширяемым строковым (REG_EXPAND_SZ). Указывая абсолютный путь, можно обойтись обычным строковым параметром (REG_SZ).
- в параметре Path задана рабочая папка программы
Работает это очень просто. Вы вводите псевдоним файла в окне «Выполнить» или адресной строке проводника, а система автоматически смотрит в указанном пути.
Как ускорить свою работу с помощью App Paths
Этим разделом реестра можно пользоваться для быстрого запуска программ, ярлыки которых не нужны вам в панели задач или на рабочем столе. Например, для поиска и замены в текстовых файлах я применяю программу BKReplacem (replacem.exe), у которой своя папка внутри папки PortableSoft. В разделе App Paths я создал подраздел bkr.exe и указал полный путь к утилите. Теперь ее запуск сводится к выполнению bkr в окне «Выполнить».
Кстати, не забывайте заключать в кавычки пути, содержащие пробелы. И, надеюсь, вы уже догадались, что можно сократить команду до одной буквы. Продолжая этот пример, я мог бы создать подраздел b.exe. Вообще, у программы может быть сколько угодно псевдонимов, как вы увидите чуть ниже.
Еще одно применение, которое я нашел для App Paths, это запуск cmd.exe с полными правами. Я давно обхожусь без запроса UAC, благодаря запуску командной строки из планировщика заданий. Создав подраздел cmda.exe, я указал в нем путь к командному файлу, выполняющему задание.
В нем всего одна строка:
Теперь достаточно ввести в окно «Выполнить» команду cmda, чтобы открыть командную строку от имени администратора.
Что интересного можно найти в разделе App Paths
Во-первых, я уверен, что вы найдете там многие из установленных у вас программ. Вместо того чтобы прописывать путь к своей папке в переменную PATH, программы регистрируют свой исполняемый файл в разделе App Paths, следуя рекомендациям Microsoft.
Во-вторых, там есть подразделы WORDPAD.EXE и WRITE.EXE, причем оба ведут к файлу wordpad.exe.
Программа Write, входившая в состав первых операционных систем Microsoft, в Windows 95 была заменена на WordPad. Вы также найдете подраздел pbrush.exe, ссылающийся на mspaint, лежащий в System32.
Программ Write и Paintbrush нет в Windows уже лет 15, однако упоминание о них до сих пор содержится в системе! И это подводит нас к разговору о том, когда и зачем в Windows ввели раздел App Paths.
История App Paths
Раздел App Paths появился в Windows 95 в качестве противоядия от засорения пути PATH, который задавался в файле autoexec.bat. Программы традиционно добавляли туда пути к своим папкам, как это до сих пор иногда делается с одноименной переменной среды. При загрузке системы файл считывался, а программы оказывались в системном пути.
Кстати, старый способ autoexec.bat до сих пор работает, позволяя запускать исполняемые файлы без указания пути, хотя использовать его уже нет смысла.
Основная проблема для разработчиков состояла в том, что найти в autoexec.bat правильную строку SET PATH было нетривиальной задачей. При этом нельзя было вставлять свою строку в начало файла, поскольку другая команда ниже могла переопределить переменную.
Кроме того, добавлять путь в PATH ради того чтобы указать Windows на одну единственную программу, было не рационально, сродни стрельбе из пушки по воробьям. Вот тогда разработчики Windows 95 и придумали решение с разделом реестра, позволяющим указывать пути к конкретным исполняемым файлам.
Почему в этом разделе до сих пор есть подразделы для Write и Paintbrush? Так Windows обеспечивает совместимость программ!
Теоретически, какая-нибудь древняя программа может полагаться на своих ровесниц, наследницы которых уже сменили имя или расположение. Чтобы старые приложения не ломались, используется раздел реестра App Paths.
Сводная таблица
Итак, подведем итог! Проще всего сравнить возможности оболочки Windows и командного интерпретатора системы в табличной форме.
Поиск исполняемого файла | Проводник | Командная строка |
---|---|---|
Текущая папка | Да | Да |
Системные папки (Windows, System32) | Да | Нет |
Переменная PATH | Да | Да |
Раздел реестра App Paths | Да | Нет 1 |
В таком виде становится наглядным не только более широкий диапазон поиска исполняемых файлов в проводнике, но и не вполне очевидная зависимость командной строки от переменной PATH. Именно ее пути влияют на то, нужно ли в консоли указывать путь к файлам, расположенным в системных папках.
Наконец, раздел App Paths представляет дополнительную ценность за счет того, что в нем можно указывать короткие псевдонимы исполняемых файлов, упрощая их запуск.
А вы используете раздел реестра App Paths или собственные переменные среды? Если да, то расскажите в комментариях, как они упрощают вашу работу!
Но можно использовать команду start:
start wordpad ↩
Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.
Об авторе
Вадим является владельцем этого блога, и большинство записей здесь вышло из-под его пера. Подробности о блоге и авторе здесь.
Вас также может заинтересовать:
Подпишитесь на бесплатные уведомления о новых записях и получите в подарок мою книгу об ускорении загрузки Windows!
комментариев 48
Замечательный материал! Про AppPaths слышу впервые, не знал про такую удобную штуку. Фокус с запуском командной строки cmda взял на вооружение, но у меня оно, к сожалению, не заработало. Пишет, «Не удается найти cmda», хотя делал все по инструкции.
equinox, а я не давал инструкций по cmda, просто обрисовал подход. Наверное, посмотрев скриншот раздела реестра cmda.exe, я смогу сказать что-то более конкретное.
Vadim Sterkin: equinox, а я не давал инструкций по cmda, просто обрисовал подход. Наверное, посмотрев скриншот раздела реестра cmda.exe, я смогу сказать что-то более конкретное.
»
Разумеется, не давали инструкций, но я же сразу кинулся пробовать новую для меня «фичу», к тому же исключительно удобную.
Скриншот — http://s2.ipicture.ru/uploads/20111019/RWkGszYW.png
equinox, ну да, я еще когда писал, подумал, что надо было разжевать этот момент получше.
Но прочтите внимательно:
Создав подраздел cmda.exe, я указал в нем путь к командному файлу, выполняющему задание. В нем всего одна строка: »
Как заработает, киньте ссылку на правильный скриншот, я добавлю в статью 🙂
Vadim Sterkin,
equinox, я рад, что у вас все получилось 🙂 Спасибо за скриншот, хотя его пришлось минут 10 фотошопить, ибо ширина в 1000 px ему не нужна была.
Я не использую. Просто пока не возникало необходимости. Про переменные среды знал. Теперь буду знать и нюансы -)
Программ Write и Paintbrush нет в Windows уже лет 15, однако упоминание о них до сих пор содержится в системе!
Это ладно, мне больше нравится невозможность создать папку или файл с названием типа «CON», ибо это имя было зарезервировано для какого- то устройства во времена MS- DOS. Резервируют до сих пор, хотя про такие устройства уже все забыли.
А вот с Вашей таблицей я бы поспорил: Командная строка всё таки ищет в Системных папках (Windows, System32), потому что они по умолчанию занесены в переменную PATH.
До сих пор поступал так:
1 Имею папку MyTools
2 Добавил ее в Path
3 В папку помещаю символические ссылки ( с краткими именами) на неомходимые мне программы
4 Вызов работает из любого места
Теперь можно сравнить с AppPaths
Виталий: А вот с Вашей таблицей я бы поспорил: Командная строка всё таки ищет в Системных папках (Windows, System32), потому что они по умолчанию занесены в переменную PATH. »
Вадим, большое спасибо за очередную классную статью, но в ней, как в прочем и во всех остальных, есть один большой минус- чем больше я читаю Ваших статей, тем больше я понимаю, насколько мало я разбираюсь в этом , хоть и пытаюсь что- то как- то учить:). Грустно 🙂
jakv, интересный подход, но он очень похож на AppPaths. По сути разница в средствах достижения цели — вы используете файловую систему, а здесь задействован реестр.
Виталий, резервирование CON — хороший пример 🙂 С другой стороны, вряд и у вас есть острая нбх в создании файла с таким названием.
С таблицей лучше не спорить 🙂 Да, системные папки входят в PATH по умолчанию, о чем говорится в соотв. разделе статьи. Вряд ли их кто-то убирает оттуда, но это не отменяет факта, что командная строка зависит от PATH, а оболочка — нет.
Консоль не умеет искать в системных папках, именно эта разница отражена в таблице.
Интересно, а зачем нужны например
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\table30.exe
или
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\setup.exe
в которых значение по умолчанию не присвоено
Владимир, спасибо за отклик! Если честно, эта статья не открывает Америку — фича-то 95 года 🙂
Но интересно посмотреть на нее под другим углом. Во-первых, в контексте заданного мне вопроса. Действительно, исполняемые файлы из системных папок запускаются хоть в cmd, хоть в «Выполнить». Но не вполне очевидно, что из проводника можно запускать более широкий ассортимент файлов.
Второе «открытие» в том (если заглянуть в реестр), что без указания пути можно запускать очень многие программы. Это играет на руку ценителям клавиатуры (=более опытным пользователям), ибо для открытия программы достаточно нажать 3-4 клавиши. Например, Win+R — b — Enter (даже с более длинными псевдонимами получается не дольше, если включена автоподстановка).
А так, меня радует, что читатели пользуются возможностью повысить уровень знаний. Не все — один мне сегодня в почте выразил мысль, что теория не нужнна, достаточно REG-файла.
Разбираться чайникам в принципах работы ОС очень непросто, да и незачем. Им надо пользоваться, а не разбираться. У них и времени нет на это
Я не считаю термин «чайник» зазорным (не стыдно не знать), однако незнание тонкостей работы Windows не означает, что человек не способен просканировать текст, проанализировать информацию и найти нужное. При условии, что автор сносно подал материал 🙂
jakv, хм… понятия не имел, пока не начал гуглить — вы пробовали? 🙂
table30.exe похоже на какое-то старье от Adobe — Adobe — PageMaker : For Windows : Adobe Table 3.04 Update (раньше была 3.0). Вряд ли кто-то еще делал программу с таким именем исполняемого файла.
setup.exe — трудно сказать. В библиотеках TechNet/MSDN нет объяснения параметров.
Но то, что туда нельзя прописывать пути — факт, иначе многие установщики не запустятся. Кстати, сама Microsoft попалась на этом, забыв подчистить после установки XP SP2 🙂 http://support.microsoft.com/kb/888470
Vadim Sterkin: table30.exe похоже на какое-то старье от Adobe »
Спасибо. Я начал искать , но так и не врубился.
Удивительно! Какая-нибудь тема из серии «мая программа круче» вызывает бурю эмоций и выплеск их в виде комментариев. А действительно интересный контент — 15 комментов. Удивительно!
Вадим, спасибо! Действительно интересная и полезная штука!
Не все – один мне сегодня в почте выразил мысль, что теория не нужнна, достаточно REG-файла.
Интересно, он всё остальное тоже делает не зная ? 🙂 Хотелось бы посмотреть на результат.
Morpheus, ничего удивительного. Фича для узкого применения опытными пользователями, которые запускают программы с клавиатуры. Что тут комментировать — ‘спасибо, не знал’ / ‘спасибо, знал’ 🙂
Да круто мне очень понравилась я каждый раз при запуске VB.net использовал пуск и мне захотелось добавить его но обнаружил что там уже стоить (devenv.exe) : ) но теперь буду использовать для других любимых программ…. Спасибо!
Еще одно применение, которое я нашел для App Paths, это запуск cmd.exe с полными правами.
Скажу одно — ELE.
Да, я её сравнительно недавно написал, но после этого я использую только её. Я даже UAC готов пережить. Ибо удобно
Хуршед, да, все установленные программы можно найти в меню Пуск, если они там группу создают. Но из окна «Выполнить» получается быстрее.
Сергей Ткаченко, а при чем тут ELE? Допустим, тебе надо CMD запускать от имени админа и ты даже сделал командный файл ele cmd. Он у тебя должен лежать в PATH, чтобы путь не вводить. App Paths — альтернатива PATH, о чем и речь в статье.
Конечно, может быть проще кидать скрипты/утилиты в системную папку или добавлять условную папку Tools в PATH, но не для всех программ это удобно.
Я к тому, что cmd я запускаю с полными правами теперь только при помощи ELE. Я ничего не имею против алиасов App Paths, и не нападал на пути поиска исполняемых файлов 🙂
Вадим, спасибо большое, статья очень интересная, хотя я это знал. Вот только в Windows 8 DP у меня в папке windows есть именно приложение write.exe, оно же есть и в system32, а вот wordpad.exe уже нет. Так что, никто не забыт, ничто не забыто 😀
Виталий: Это ладно, мне больше нравится невозможность создать папку или файл с названием типа «CON» »
Причем таких имен множество великое =)
CON, PRN, AUX, CLOCK$, NUL, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3. И также нельзя создать папку, имя которой начитается с точки.
Сергей Ткаченко, если работать с ограниченными правами, то планировщик не поможет — тут только ele. А так, если можно упростить жизнь, почему бы нет.
YaNkEE, wordpad лежит в другой папке — посмотрите путь в AppPaths. А write.exe как раз Wordpad и запускает, и будет это делать даже если вы переименуете этот раздел в App Paths.
Так что write.exe в том виде, что он был в 3.1, уже нет. Вы можете использовать параметры командной строки (имя файла — открытие, /p имя файла — печать), но по сути это ключи wordpad.
А вот почему у нас два write.exe, по одному в каждой системной папке, это уже другой вопрос 🙂 В принципе, можно осветить его в отдельной записи, это любопытно.
YaNkEE: И также нельзя создать папку, имя которой начитается с точки. »
А так же файлы или папки со знаками \ / : * ? » | При этом какой нибудь © размещается в имени без проблем.
И хотя создать папку, имя которой начинается с точки, нельзя, с такими папками можно работать.
Виталий: И хотя создать папку, имя которой начинается с точки, нельзя, с такими папками можно работать. »
Нельзя в проводнике, но в командной строке можно
Vadim Sterkin: А write.exe как раз Wordpad и запускает. »
Но притом это не ярлык, а просто копия программы с другим именем, и естественно, если убрать из AppPaths, то она будет из проводника вызываться и из cmd (так как в PATH есть system32). А в AppPaths ссылка именно на wordpad.exe с именем write, которая от этого write.exe не зависит.
YaNkEE, мимо кассы 🙂
1. Расположение wordpad не включено в PATH. Поэтому вызов из консоли не сработает (хотя это можно обойти вызовом write).
2. write.exe — это не копия программы wordpad. Да, это программа, но единственное ее назначение — запуск worpad. Больше она ничего не делает.
Причем расположение wordpad в нее зашито относительно жестко. Переименуйте write.exe в App Paths — wordpad продолжит запускаться командой write. Теперь перименуйте папку, где лежит wordpad. Ку? 🙂
Vadim Sterkin: Нельзя в проводнике, но в командной строке можно »
Можно проводить серию пенальти между проводником и командной строкой 🙂
По моему, создать жёсткую ссылку на wordpad с именем write.exe было бы лучше, чем программку- запускалку.
Виталий: По моему, создать жёсткую ссылку на wordpad с именем write.exe было бы лучше, чем программку- запускалку. »
Да, это хорошая идея (на первый взгляд ;), и думаю, что уже в понедельник мы как раз обсудим этот вопрос.
А пока подумайте, почему здесь не используется жесткая ссылка? Подсказкой будет ваша любимая ОС 🙂
Вадим, Вы меня не так поняли. Я и имел ввиду то, что в PATH есть ссылка на system32, поэтому выполнится write, даже если удалить ее из AppPaths. Но выполнится уже не ссылка на WordPad.exe из AppPaths, а именно сама write.exe из system32.
P.S. А вот насчет того, что write.exe просто запускает wordpad.exe и закрывается — Вы исключительно правы. Поэтому, если удалить из AppPath запись «write.exe», то будет с команды write будет запускаться не сам wordpad.exe, а write.exe (из PATH), которая в свою очередь уже вызовет wordpad.exe.
okshef, в тему, но по-моему она нужна только тем, у кого 100500 переменных среды, которые постоянно приходится изменять. Я таких людей пока не встречал. А тебе она зачем?
YaNkEE, ок, я понял вас теперь. Меня заинтересовал описанный вами порядок поиска исполняемого файла. Не знаю, проверяли вы его или даже не задумывались о разных вариантах 🙂
MSDN просто перечисляет расположения, при этом App Paths идет последним в списке. Однако явно о приоритете там ничего не сказано.
Я проверил. Оболочка сначала ищет в App Paths, а потом уже в PATH или в системных папках. Логично, в свете того, что MSFT рекомендует именно App Paths для регистрации исполняемых файлов. Но проверить не повредит 😉
Vadim Sterkin: А пока подумайте, почему здесь не используется жесткая ссылка? Подсказкой будет ваша любимая ОС 🙂 »
Думал, да ничего интересного и не придумал.
Скорее всего дело в совместимости со старым софтом, но конкретнее ничего сказать не могу.
Подожду понедельника.
Вадим, именно это я и имел ввиду. Сначала поиск происходит в AppPaths (там write — ссылка на wordpad.exe), а если там нет, то проверяет директории из PATH (а тут уже именно write.exe). Но еще разница в том, что cmd.exe не дружит с AppPaths, ссылки AppPaths работают только в проводнике, но об этом вы писали в статье.
Я вспомнил, что хотел сказать. В AppPaths под name.exe можно сделать ссылку не только на приложение, но и на любой файл, который откроется в программе по умолчанию. Например ссылка image.exe, а в адресе picture.jpg. Тогда, если запустить новую задачу и прописать image, то откроется та картинка.
Виталий, в принципе, в 7 технически ничего не мешало реализовать жесткую ссылку wordpad ↔ write (значок будет другой только), но в XP это было невозможно.
YaNkEE, практический смысл использования picture.jpg от меня ускользает. Возможно, с другим примером будет понятнее.
Вадим, ну или, например, html страница, сохраненная на диске. Смысл, конечно, может и не велик, но я говорил о возможности.
Хотя, вот, например: сохранены несколько плейлистов какого-нибудь проигрывателя. Создаем ссылки на них в AppPaths и в любой момент можем вызвать их, например, прописав: favorite — откроется любый плэйлист, rock — откроется плейлист с роком и т.д. И откроется-то он через программу, установленную по умолчанию, то есть ваш проигрыватель.
Vadim Sterkin: но в XP это было невозможно. »
Почему? Можно было при установке на FAT32 делать две копии программы, а при установке на NTFS делать жёсткую ссылку.
Виталий, что-то вы мелочитесь. Я ожидал предложения внедрить в FAT поддержку жестких ссылок 🙂