|
Введение
Примечание редактора. Сайт Tom's Hardware Guide ориентирован, в первую очередь, на "железо". Но, как нам кажется, нашим читателям пригодится небольшой экскурс в скрипты Windows Visual Basic (VBScript) и модификацию реестра Windows.
Автор этой статьи - приверженец 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
' Конец скрипта.
Что можно узнать нового?
- Посмотреть, как VBScript создаёт объект objShell, потом, как .RegDelete выполняет работу с реестром.
- В VBScript HKEY_CLASSES_ROOT можно сократить до HKCR. (Ещё есть HKLM и HKCU.) Удивительно, но использовать HKCR или HKLM в файлах .reg нельзя.
- Метод RegDelete удаляет значение из реестра на основе strName. Если strName заканчивается обратным слэшем (\), то strName считается ключом, иначе - значением.
- Ключ IsShortCut можно найти и в других местах, например, в HKCR\piffile и HKCR\WSHFile.
|
| |||
Страница:
1 2
|








