(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Удаляем стрелки с ярлыков Windows

Источник: Tom's Hardware Guide

Автор этой статьи - приверженец VBScript. И одна из целей данной статьи заключается в том, чтобы познакомить вас с этим языком программирования. Пусть даже язык VBScript вам не интересен, но мы покажем, как с помощью него можно удалить стрелки на значках запуска программ (ярлыках). Кроме кода VBScript мы предоставим инструкции, как выполнить эту операцию с помощью правки реестра Windows.

Следует помнить, что метод IsShortCut отлично работает под XP и Windows Server 2003, но под Vista могут возникнуть некоторые негативные побочные эффекты.

Благодаря файлам .reg вам не нужно изучать VBScript, чтобы выполнить необходимые операции. Впрочем, если прибегнуть к помощи VBScript, примеры на этом языке покажут, как легко можно создавать объекты. В данном случае объект и его метод .RegDelete модифицируют реестр Windows. В принципе, с помощью скриптов можно использовать разные методы, чтобы автоматизировать задачи, которые можно выполнять через графический интерфейс.

Удаление стрелок с ярлыков является классическим случаем для Microsoft, когда реестр можно править тремя способами: с помощью VBScript, файла .reg и, конечно, regedit.

Метод VBScript, который удаляет значение IsShortCut, работает под XP и Vista. Впрочем, под Vista удаление значений реестра создаёт проблемы со значками в папке "Избранное/Favorites".

Если вы просто как можно быстрее хотите убрать стрелки, используйте файл .reg. Если для удаления стрелок вы будете использовать способ VBScript, то файлы .reg станут дополнительным средством для возвращение в исходное состояние реестра перед тем, как вы запустите скрипт во второй раз.

В использовании скрипта есть и скрытый бонус: вы познакомитесь с такими командами работы с реестром, как.RegWrite, .RegDelete и .RegRead.

Два скрипта Visual Basic

Пример 1 относительно прост. В нём создаётся objShell и выполняется метод .RegDelete.

Пример 2 сложнее, в нём проводится простейшая проверка на ошибки. В примере 2 создаётся значение REG_SZ для замены, что является эквивалентом переименования IsShortCut.

Скрипты предназначены для XP и Windows 2003. Они будут работать под Vista, но, как мы уже отмечали, вы получите не очень красивые побочные эффекты на значках в папке "Избранное/Favorites".

Пример 1. Простой скрипт для удаления стрелок с ярлыков

Инструкции

  • Предварительный шаг: чтобы проверить скрипт, создайте ярлык. Например, нажмите правой клавишей мыши на рабочем столе, выберите "Создать" и "Ярлык". Затем укажите программу "calc" и нажмите "Готово". На рабочем столе появится значок со стрелкой.
  • Скопируйте приведённый ниже скрипт в блокнот или редактор скриптов, такой как OnScript.
  • Сохраните файл с расширением .vbs, например, NoArrowEg1.vbs.
  • Запустите скрипт VBScript, нажав в появившемся окне "OK".
  • Чтобы проверить действия, выполняемые с реестром, мы рекомендуем открыть regedit и перейти в раздел реестра, указанный strRoot.
  • Да, чтобы проверить, что стрелки исчезнут, нужно выйти из системы и войти вновь. На значках не должно быть стрелок.

' NoArrowEg1.vbs
' ПримерVBScript для удаления стрелок на значках в XP
' и Windows 2003.
' ---------------------------------------------------------------'
'
Option Explicit
Dim objShell, strRoot, strRead, strDelete, strCreate
strRoot = "HKEY_CLASSES_ROOT\lnkfile\IsShortCut"
' Создаём объект Shell
Set objShell = CreateObject("WScript.Shell")
strDelete = objShell.RegDelete(strRoot)
WScript.Echo "Ошибка номер: " & err.number & " проверяйте " & strRoot
strDelete = null
WScript.Quit

' Конец скрипта.

Что можно узнать нового?

  1. Посмотреть, как VBScript создаёт объект objShell, потом как .RegDelete выполняет работу с реестром.
  2. В VBScript HKEY_CLASSES_ROOT можно сократить до HKCR. (Ещё есть HKLM и HKCU.) Удивительно, но использовать HKCR или HKLM в файлах .reg нельзя.
  3. Метод RegDelete удаляет значение из реестра на основе strName. Если strName заканчивается обратным слэшем (\), то strName считается ключом, иначе - значением.
  4. Ключ IsShortCut можно найти и в других местах, например, в HKCR\piffile и HKCR\WSHFile.

Пример 2. Полный скрипт для удаления стрелок ярлыков

Вместо простого удаления соответствующего значения в реестре, мы решили создать новую запись. Мы получаем иллюзию переименования оригинального значения IsShortCut в IsNotShortcut. С образовательной точки зрения код является примером операций .RegWrite и .RegRead. Кстати, этот скрипт содержит и примитивный код проверки ошибок. В частности, разедел "If" вместе с On Error Resume Next отрабатывает ситуацию, когда скрипт запущен второй раз.

Инструкции

  • Если вы уже запускали скрипт из примера 1, то запустите второй файл.reg, чтобы восстановить значение "IsShortCut".
  • Мы предполагаем, что на рабочем столе у вас есть ярлыки. Если нет, создайте ярлык. Например, нажмите правой клавишей мыши на рабочем столе, выберите "Создать" и "Ярлык". Затем укажите программу "calc" и нажмите "Готово". На рабочем столе появится значок со стрелкой.
  • Скопируйте скрипт, приведённый ниже, в блокнот или редактор скриптов, например, OnScript.
  • Сохраните файл с расширением .vbs, например? NoArrowEg2.vbs.
  • Запустите скрипт, нажав в окне подтверждения "OK".
  • Мы рекомендуем проверить значение в реестре, на которое указывает strRoot.
  • Да, чтобы проверить, что стрелки исчезнут, нужно выйти из системы и войти вновь. На значках не должно быть стрелок.

' NoArrowEg2.vbs
' Пример VBScript для удаления стрелок с ярлыков под XP
' и Windows 2003.
' ---------------------------------------------------------------'
'
Option Explicit
Dim objShell, strRoot, strRegRead, strNew
Dim strRead, strDelete, strCreate
err.number = 0
strRoot = "HKCR\lnkfile\"
strNew = strRoot & "IsNotShortCut"
strRegRead = strRoot & "IsShortCut"
' Создаём объект Shell
Set objShell = CreateObject("WScript.Shell")
On Error Resume Next
strRead = objShell.RegRead(strRegRead)
If err.number => 0 then
strCreate = objShell.RegWrite(strNew,"", "REG_SZ")
strDelete = objShell.RegDelete(strRegRead)
End if
WScript.Echo "Ошибка номер " & err.number & " проверьте " & strRoot
On Error GoTo 0
strCreate = null
strDelete = null
WScript.Quit

' Конец скрипта.

Что можно узнать нового?

  1. В разделе If err.number есть примитивный код предотвращения ошибки, если скрипт запущен второй раз.
  2. Операция RegWrite имеет скрытое свойство создания. Посмотрите, как операция создаёт родительскую запись, после чего присваивает ей значение. Перед тем, как вы запустите скрипт в первый раз, записи "IsNotShortCut" нет. Благодаря операции .RegWrite в реестре создаётся новая запись REG_SZ под названием "IsNotShortCut" с нулевым значением (""). Нулевое значение, кстати, можно проверять в таких операциях, как "If".
  3. Метод RegDelete удаляет запись из реестра, обозначенную strName. Если strName заканчивается обратным слэшем (\), то strName обрабатывается как ключ, иначе - как значение.
  4. Ключ IsShortCut можно найти и в других местах, например, в HKCR\piffile и HKCR\WSHFile.

 

Используем файлы .reg для правки реестра

Ниже представлены два файла .reg. Первый убирает стрелки с ярлыков, второй их восстанавливает. Файлы предназначены для XP и Windows Server 2003, но будут работать и под Vista с ограничениями, упомянутыми выше.

Инструкции

  • Скопируйте текст в блокнот.
  • Сохраните как ArrowGone.reg.
  • Выполните файл, чтобы его содержание было внесено в реестр.
  • Обратите внимание на знак минуса в команде "IsShortCut"=-. Вокруг него нет кавычек. Эта команда удаляет значение IsShortCut и сам ключ IsShortCut. Если вы введёте команду "IsShortCut"="-", то тогда ключ удалён не будет, а его значение поменяется на минус. "IsNotShortCut"="" создаёт ключ и присваивает ему нулевое значение.

 

Файл .reg для удаления стрелок с ярлыков

Важно: Между "Windows Registry Editor Version 5.00" и [HKEY...] должна быть пустая строка.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\lnkfile]
"IsShortCut"=-
"IsNotShortCut"=""

Вот и весь файл!

Файл .reg для восстановления стрелок на ярлыках

Этот файл .reg восстанавливает значение в реестре по умолчанию, когда на ярлыках появляются стрелки. То есть файл восстанавливает состояние до запуска скриптов.

Инструкции

  • Скопируйте текст в блокнот.
  • Сохраните как ArrowBack.reg.
  • Выполните файл, чтобы его содержание было внесено в реестр.
  • Обратите внимание, что ключу "IsShortCut" теперь присвоено нулевое значение "IsShortCut"="". Ключ вернулся обратно в реестр. Кстати, ключ IsNotShortCut мы удалять не стали.

Важно: опять же, между Windows Registry Editor Version 5.00 и [HKEY...] следует оставить пустую строчку
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\lnkfile]
"IsShortCut"=""
"IsNotShortCut"=-

Вот и весь файл!

Заключение

Стрелки на ярлыках не нравятся многим пользователям. В нашей статье мы изменили значение реестра, которое отвечает за них. В скриптах читатели могут познакомиться с такими операторами, как .RegWrite, .RegRead и, в частности, RegDelete, которые позволяют менять значения в реестре Windows.

Мы добавили в статью файлы реестра .reg, которые позволяют легко и быстро достигать той же цели, а именно удаляют стрелки с ярлыков.

Примечание редактора. Сайт Tom's Hardware Guide ориентирован, в первую очередь, на "железо". Но, как нам кажется, нашим читателям пригодится небольшой экскурс в скрипты Windows Visual Basic (VBScript) и модификацию реестра Windows.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 16.05.2007 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Windows Professional 10, Электронный ключ
Microsoft Office для дома и учебы 2019 (лицензия ESD)
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год.
Microsoft 365 Apps for business (corporate)
Microsoft Office 365 для Дома 32-bit/x64. 5 ПК/Mac + 5 Планшетов + 5 Телефонов. Подписка на 1 год.
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Программирование в AutoCAD
СУБД Oracle "с нуля"
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100