Книги, научные публикации Pages:     | 1 |   ...   | 3 | 4 | 5 | 6 |

Вадим Дунаев JavaScript Изучите один из популярнейших языков для самостоятельно издание Прочитав эту книгу, вы узнаете: ...

-- [ Страница 5 ] --

При щелчке на ярлыке указанное в нем приложение открывается. Аналогичный ссылочный файл с расширением содержит документа (веб-страни цы). Создать ярлык на рабочем столе компьютера, в меню Пуск, в папке Автоза грузка, Избранное или в любой другой папке можно с помощью объекта Wscript.Shell, входящего в состав WSH. Этот объект (точнее, его экземпляр) создается двумя способами, так же, как и Х Первый способ:

var Myshell = new Х Второй способ:

var Myshell = С помощью метода можно узнать местоположение специальных папок, таких как Рабочий стол, Автозагрузка, Избранное, Мои документы, Программы и др. За этими папками закреплены специальные идентификаторы (переменные).

Например, папке Рабочий стол соответствует идентификатор Desktop, папке Мои документы Ч папке Избранное Ч Favorites. Вот список всех идентифи каторов специальных папок:

Desktop, Favorites, Fonts, MyDocuments, NetHood, Programs, Recent, SendTo, StartMenu, Startup, Templates.

Чтобы получить местоположение папки, например Главное меню, открываемой при щелчке на кнопке Пуск, следует выполнить следующие выражения:

var Myshell = new var mypath = /* Значение: меню */ 5.4. Работа с файлами В листинге 5.6 приводится пример программы создания ярлыка для Блокнота Win dows (notepad.exe) и расположения его на рабочем столе компьютера (в папке Ра бочий стол).

Листинг 5.6. Код программы создания ярлыка для Блокнота var = new var = // путь к папке Рабочий стол /* Создание ярлыка и подписи к нему: */ var = + /* Папка расположения Windows: */ var = /* Параметры ярлыка: */ // расположение файла:

= + = // рабочая папка // тип окна (стандартное) /* файл, содержащий графическое изображение ярлыка: */ = + // сохранить на диске Здесь возвращает строку, содержа щую значение переменной среды, в данном случае По умолчанию файл notepad.exe находится в папке расположения операционной системы Windows, но эта папка не обязательно называется Свойство WindowStyle может при нимать три значения: 3 Ч развернуть окно на весь экран, 4 Ч стандартное окно, 7 Ч свернуть в значок на панели задач.

следующем примере создается ярлык в главном меню кнопки Пуск для некото рой программы var Myshell = new var var myshortcut = + = = // тип окна (развернуть на весь экран) = Приведенный ниже код создает в папке Избранное ссылку на главную страницу веб-сайта автора этой книги:

var Myshell = new var mypath = var myshortcut = + себе = Основное отличие этого примера от предыдущих состоит в том, что свойству TargetPath (путь к цели) присваивается URL-адрес документа.

Глава 5. Работа с файловой и реестром Windows 5.4.5. Запуск приложений Для запуска приложений служит метод объекта Командная стро ка запуска приложения (обычно это просто полное имя файла программы) пере дается методу в качестве строкового параметра.

Примеры var = new 5.5. Работа с реестром Реестр Windows представляет собой базу данных, содержащую сведения об ее настраиваемых параметрах, или, как еще говорят, о конфигурации операционной системы. Кроме того, в реестре хранится информация о настройках аппаратных средств компьютера и программ. Реестры различных систем и версий семейства Windows частично различаются. Однако между ними много общего. В Windows (Windows for WorkGroups) реестр хранится в файле reg.dat в папке Windows.

В более поздних версиях, Windows 9x/Me и т. реестр размещается в двух фай лах, расположенных в папке Windows: system.dat и user.dat. Реестр задумывался для замены настроечных Записи в файле реестра имеют более удоб ную древовидную структуру. Хотя также поддерживаются Windows, разработчикам программного обеспечения рекомендуется хранить настроечную информацию в реестре.

Чтобы работать с реестром, необходимо понимать его структуру. Древовидная структура реестра представляет собой иерархически упорядоченное множество разделов (папок), содержащее следующие шесть разделов самого верхнего (кор невого) уровня (табл. 5.1).

Таблица 5.1. Разделы реестра Имя раздела реестра Сокращенное имя Описание верхнего уровня раздела реестра HKEY_CLASSES_ROOT Содержит информацию о зарегистриро ванных типах файлов, OLE и др.

Содержит параметры настройки оболочки Windows для пользователя, вошедшего в Windows. Например, настройки Рабочего стола, меню кнопки Пуск. Если на компьютере работает единственный пользователь и используется обычный вход в Windows, то содержимое этого раздела берется из подраздела Содержит информацию об установленных драйверах и программном обеспечении 5.5. Работа с реестром Имя раздела реестра Сокращенное имя Описание верхнего уровня раздела реестра USERS Содержит параметры настройки оболочки Windows для всех пользователей.

Информация из этого раздела копируется в раздел С другой стороны, все изменения в разделе HKEY_CURRENT_USER автоматически переносятся в раздел HKEY_USER HKEY CURRENT CONFIG HKCC Содержит информацию о настройках устройств Plug&Play, а также сведения о настройках компьютера с переменным составом аппаратных средств DYN_DATA HKDD Содержит изменяющиеся данные о состоянии устройств, установленных на компьютере пользователя. Эти сведения отображаются в окне Панель управления Система Устройства Свойства. Данные этого раздела обновляются операционной системой Windows, и поэтому не рекомендуется редактировать его самостоятельно Перечисленные коренные разделы имеют подразделы, а те Ч свои подразделы и т. д.

В конечном разделе ветви дерева реестра определяются параметры. Каждый па раметр имеет имя и значение. Работа с реестром заключается в просмотре, созда нии и удалении его записей. Так, вы можете создать или удалить раздел реестра, создать или удалить параметр в каком-либо разделе. Однако делать это без четко го понимания целей и правил не рекомендуется.

ВНИМАНИЕ Не следует открывать и редактировать файлы реестра system.dat и user.dat в текстовом редакторе.

Здесь мы не будем подробно обсуждать, что нужно изменить в реестре, чтобы по лучить тот или иной эффект. Рассмотрим, как можно изменять записи в реестре, если такая необходимость возникла.

Для работы с реестром используются три основных способа.

Х С помощью редактора реестра Ч программы Чтобы запустить ре дактор реестра, достаточно выполнить команду Пуск Выполнить, ввести с кла виатуры слово regedit и щелкнуть на кнопке ОК. Данный способ наиболее без опасный.

Х С помощью reg-файлов. Это текстовые файлы с расширением записи в ко торых имеют довольно простую структуру. Запуск reg-файла, например, двойным щелчком на его имени в Проводнике Windows приводит к открытию диалогового окна с предложением добавить информацию из этого файла в реестр. При вашем согласии данные из reg-файла будут импортированы в файлы реестра.

294 Глава 5. Работа с файловой системой и реестром Windows Х С помощью программы JavaScript, использующей специальные методы Win dows Scripting Host. В этом случае можно организовать не видимую пользова телем работу с реестром (если, конечно, он не заблокировал выполнение сце нариев).

Рассмотрим сначала структуру записей в который можно создать с по мощью обычного текстового редактора, например Блокнота Windows. В первой строке этого файла должно быть написано прописными буквами Затем должна быть пустая строка. В следующей, третьей строке в квадратных скобках пишется имя раздела реестра. В четвертой строке располагается запись согласно приведенному ниже формату:

Если в данном разделе реестра следует разместить еще один параметр, то запись о нем располагается в следующей строке. Таким образом, сведения о каждом па раметре записываются в отдельной строке reg-файла. Аналогичным образом можно создать записи, относящиеся к другому разделу реестра. Однако между такими секциями, каждая из которых соответствует отдельному разделу реестра, обяза тельно должна быть одна пустая строка. Таким образом, структура reg-файла имеет следующий вид:

REGEDIT...

Х Х Значения параметров могут принадлежать одному из трех типов:

Х строковый Ч значения этого типа являются просто строкой символов, заклю ченной в кавычки;

Х DWORD Ч для записи значения этого типа используется формат Вместо X записываются цифры. Обычно параметры типа DWORD имеют значение либо 0, либо 1. В этих случаях для задания значения требуется записать либо либо Х двоичный Ч для записи значения этого типа используется формат Вместо XX записываются шестнадцатеричные цифры;

пары таких цифр разде ляются запятой. Например, для задания значения af 00 01 00 следует записать hex:af,00,01,00.

5.5. Работа с реестром Кроме того, в реестре могут быть установлены параметры по умолчанию (default).

Чтобы присвоить какое-то значение параметру по умолчанию, необходимо про сто записать в reg-файле следующее выражение:

Рассмотренные выше записи добавляют, а не перезаписывают записи в реестре. Чтобы удалить раздел в реестре, необходимо в reg-файле перед его име нем в квадратных скобках поставить символ минус, как в следующем примере:

Чтобы удалить параметр, следует присвоить ему символ минус:

Ниже в качестве примера приведено содержимое reg-файла, с помощью которого устанавливается начальная веб-страница, загружаемая в браузер Internet Explorer:

REGEDIT Читать, создавать и удалять записи в реестре можно с помощью специальных ме тодов объекта входящего в состав WSH:

Х RegReadQ Ч возвращает запись реестра или значение параметра;

Х RegWriteQ Ч создает новую запись в реестре или изменяет значение параметра уже существующей записи;

Х Ч удаляет запись реестра или параметр.

Применение этих методов имеет следующий синтаксис:

var Myshell = new Метод RegWrite() принимает в качестве параметра строку, содержащую имя разде ла реестра, за которым указывается имя параметра. Все элементы имени раздела разделяются двойными обратными слэшами. Например, в строке последний элемент myparam является именем параметра, а не раздела реестра.

Метод RegWriteQ принимает три параметра, из которых последний не является обязательным. Первый параметр Ч строка, содержащая имя раздела или имя па раметра. Если эта строка заканчивается двойным слэшем, то подразумевается, что последний элемент строки Ч имя раздела, в противном случае Ч имя параметра в разделе. Второй параметр метода RegWriteQ представляет значение параметра раздела. Если имя параметра раздела не указано, то подразумевается параметр по умолчанию. Третий, необязательный параметр метода RegWriteQ задает тип пара метра в разделе реестра и представляет собой или со ответственно для типов DWORD и двоичного. Если тип не указан, то подразумева ется строковый тип.

Примеры var Myshell = new /* Создание подраздела Myreg в разделе и присвоение параметру по умолчанию значения "значение": */ 296 Глава 5. Работа с файловой и реестром Windows /* Создание в разделе HKEY_CURENT_USER\ Myreg строкового параметра и присвоение ему значения "некоторая строка": */ "некоторая строка") /* Создание в разделе Myreg двоичного параметра и присвоение ему значения 5: */ /* Создание в разделе Myreg параметра типа DWORD и присвоение ему значения 3: */ Метод принимает в качестве параметра строку, содержащую имя раз дела или параметра. Если эта строка заканчивается двойным слэшем, то подразу мевается, что последний элемент строки Ч имя раздела, в противном случае имя параметра в разделе.

Примеры var Myshell = new /* Удаление в разделе HKEY_CURENT_USER\ Myreg параметра myparaml: */ /* Удаление подраздела Myreg в разделе */ СОВЕТ Вместо полных имен корневых разделов реестра можно использовать их сокращенные обозначения. Например, вместо можно писать В листинге 5.7 приведен пример программы, делающей запись в реестре, которая устанавливает стартовую веб-страницу.

Листинг 5.7. Запись установки стартовой страницы var Myshell = new var mystartpage = // нужная страница /* Проверяем, какая веб-страница является начальной: */ startpage = Page") if (startpage != mystartpage) // если другая Explorer\\Main\\Start mystartpage) Аналогичным образом можно создать записи в реестре, запускающие прило жения.

Приложение 1. Руководство по динамическому HTML Основные понятия HTML (HyperText Markup Language Ч язык разметки гипертекста) является ос новным языком программирования веб-страниц. Описания веб-страниц содер жатся в HTML-программах которые хранятся в обычных тексто вых файлах с расширением htm или html. Иногда эти программы называют HTML документами, но обычно считается то, что можно видеть в окне браузера. Программы на языке HTML содержат инструкции (коды), называемые тегами. Теги представляют собой последовательности символов, заключенные в угловые скобки (например, <Р>).

Большинство современных браузеров допускают запись тегов в любом регистре, то есть как прописными, так и строчными буквами. Все ключевые слова тегов, являющиеся обычно аббревиатурами слов английского языка, записываются бук вами латинского алфавита. Например, IMG Ч сокращение слова image (изображе ние).

HTML-программа должна начинаться тегом и заканчиваться тегом Между ними находятся другие теги программы или текст, который вы хотите вывести в окне браузера. Некоторые теги используются только парами (на пример, и ). При этом первый из них называется открывающим, а второй Ч закрывающим. Иногда парные теги называют контейнерными, пото му что между ними можно разместить другие теги. Таким образом, в контейнер ные теги можно вкладывать другие теги, в том числе и контейнерные, то есть теги могут быть вложенными. Сейчас запомните этот факт, а в дальнейшем разберем ся, как ими пользоваться. Существуют одиночные теги, для них нет соответствую щих закрывающих тегов. Примером одиночного тега является тег
(конец строки).

Теги могут содержать параметры, называемые атрибутами, которые, в свою оче редь, могут иметь значения Ч аргументы. Можете считать (если так удобнее), что тег Ч это команда, атрибут Ч имя ее параметра, а аргумент Ч значение парамет ра. Например, для вывода на экран изображения, хранящегося в файле используется тег 298 Приложение 1. Руководство по динамическому HTML Здесь IMG Ч название тега, SRC Ч атрибут, а Ч аргумент атрибута SRC.

Итак, если мы решили написать HTML-программу, то должны включить в нее два тега:

(здесь будут другие теги программы) HTML-программы состоят из двух основных частей: заголовка и тела. Каждая из этих частей ограничивается соответствующей парой тегов. Так, заголовок огра ничивается парой тегов и а тело Ч тегами