close

Вход

Забыли?

вход по аккаунту

?

Тарасов К. - Сборник статей по настройке Windows (2004)

код для вставкиСкачать
СборникстатейпонастройкеWindows
НастройкаWindows9x/MEВэтомразделесобранаинформацияпо
настройкеразличныхпараметровоперационнойсистемы:оптимизация
работы,запрещениедоступакэлементамоболочки,увеличение
быстродействияWindows,настройкавнешнеговидаGUI.
читатьдальше
WindowsNT/2000/XP
РеестрWindowsNT,2000иXPпохожнареестрWindows9x,но
существуютиотличия.Многоеизописанноговдругихразделах
применимоивNT,авотоботличияхиособенностяхреестраэтой
операционнойсистемыпойдетречьвэтомразделе.
читатьдальше
WindowsScriptHost(WSH)
МощнейшеесредствоавтоматизацииработысWindows-WSH.Какв
автоматическомрежимеподключитьсетевойдиск,поковырятьсявреестре,
создатьярлык,запуститьпрограмму,выключитькомпьютер?Этоимногое
другоеможетWSH.
читатьдальше
Ведущийраздела:И.Чеботарев
Авторсборника:К.Тарасов
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
НастройкаWindows
Основнойматериалраздела,где,собственно,исодержитсяинформацияпо
различнымнастройкамоболочкиWindows.
"Хитрые"ярлыкипапокИнструкцияпосозданиюярлыкапапки,
которыйвпроводникебудетвестисебятакжекакпапка,накоторуюон
ссылается.
читатьдальше
СкрываеминформациючерезбагивFAT32,NTFSиDOS-командах
ЛюбопытнаяособенностьFAT32,позволяющаясоздаватьневидимыйдля
операционнойсистемыкаталог.
читатьдальше
Идеальнозащищеннаясистема
Идеал,каквсегда,недостижим,ночтоможносделать,чтобыхотькак-ток
немуприблизиться?Читайте...
читатьдальше
ГдеикакWindowsхранитинформациюоActiveDesktop
Небольшоеописаниефайла,отвечающегозаотображениеинформации,
когдавидРабочегостолапредставленкакActiveDesktop.
читатьдальше
Созданиенестандартногоярлыка
Всезнают,чтоприустановкеMSOfficeнарабочемстолепоявляетсяярлык
MicrosoftOutlook.Вотличиеотдругихярлыков,уэтогонетстрелочкии
привычногоменю,появляющегосяпринажатииправойкнопкимыши.
читатьдальше
ИспользуемActiveDesktop
ИливочтоможнопревратитьРабочийстол,еслипроявитьнемного
фантазииитерпения.
читатьдальше
НастройкасвойствпротоколаTCP/IP
Какавтоматизироватьпроцесснастройкисвойствпротоколаспримером
reg-файла.
читатьдальше
FAQпофайлуподкачки
Встатьерассматриваютсяразличныевопросы,связанныесфайлом
подкачкииегооптимизацией.
читатьдальше
Сокрытиеинформации
Довольнолюбопытнаястатьяотом,какпрятатьданныеизапускпрограмм
отпостороннеговзгляда.
читатьдальше
Сменанадписинакнопке"Пуск"
Каквручнуюпоменятьэтуизрядноподнадоевшуюнадпись.
читатьдальше
Еслипоселилсянезванныйгость...
Информацияотом,какразличныепрограммы(вчастноститрояны)
прописываютсявавтозагрузку.
читатьдальше
УскорениеработысИнтернетом
ЭтаинформациядополняетматериалыизложенныевстатьеНастройка
модемногосоединения.
читатьдальше
РазгоняемWindows
Повышаемпроизводительностькомпьютерастандартнымисредствамине
тратяденегнаапгрейд.
читатьдальше
Оптимизацияпамяти
Чтосделать,чтобынегрузитьлишнего.
читатьдальше
Параметрыфайлаmsdos.sys
Управлениепроцессомзагрузкиоперационнойсистемыприпомощифайла
msdos.sys
читатьдальше
УстановкаWindows
Какправильнопоставитьоперационку,убратьвселишнееинастроитьее.
читатьдальше
Добавлениеновогопунктавменю"Создать"
...илиотом,какповыситьпроизводительностьработынакомпьютере.
читатьдальше
Контекстноеменюфайловипапок
Развитиепредыдущейстатьи-изменениеконтекстногоменю.Можетбыть
довольнополезным:)
читатьдальше
Регистрациярасширенийфайлов
Вызаметили,чтопридвойномщелчкенаразличныхфайлах,Windows
запускаетсоответствующееимприложение.Аоткудаонзнаетчтонадо
запустить?Икакэтонастроитьсамому?Читайте...
читатьдальше
УстановкиРабочегостолаиоболочки
Отомгдехранятсянастройкиразличныхпараметровиэлементовоболочки
(шрифтов,графическихэлементов,иконок,ит.п.).
Часть1
Часть2
Часть3
ОграничениедоступакнастройкамWindows
Небольшаястатьядлятех,ктохочетобезопаситьсвойкомпьютерот
неуемноголюбопытстваколлегидрузей.
читатьдальше
Windowsручками
Комментарийвприсущеймалолетнимхакерам,когдаониобучают
великовозрастныхчайников,стилистике.
читатьдальше
Настройкамодемногосоединения
Прочитавэтустатьювысможетенастроитьвашемодемноесоединениес
Интернетоптимальнымобразом,увеличивскоростьна20-40%.
читатьдальше
Настройкаменюкнопки"Пуск"
Оказываетсяменю,появляющеесяпринажатиинакнопку"Пуск",можно
полностьюпреобразить.Насталапораотключитьвселишниеидобавить
недостающиепункты.
читатьдальше
Запрещениезапускапрограмм.
Статьяоченьпригодитсяначальникам,чтобыихподчиненныенеигралина
рабочемместе,азапускалитольконужныепрограммы:).
читатьдальше
Чтоскрываетсявавтозагрузке?
Почемутакдолгогрузитсякомпьютер,какиепрограммызапускаютсяв
этотмоментикакотключитьихстарт.
читатьдальше
РеестрWindows
Здесьвынайдететеоретическийматериалоструктуререестра,его
резервировании,способахработысним,reg-файлах.Здесьвыузнаетео
том,чтожеэтотакое-реестрWindows.
читатьдальше
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
РеестрWindows
СтруктурареестраСтатьябольшейчастьюдляпрограммистовилюдей
интересующихсяустройствомреестрананизкомуровне.
читатьдальше
Структураreg-файлов
Статьяотом,какнаписатьreg-файлиотребованияхкструктуреэтих
файлов.
читатьдальше
Восстановлениереестра
Чтоделатьеслинепоправимоесвершилось:реестриспорчениWindowsне
грузится?Переустанавливатьоперационнуюсистему?Неспешите-сперва
прочтитеэтустатью.
читатьдальше
РедакторRegEditиструктурареестра
Описаниестандартногосредстваредактированияреестра,атакже
внутреннейструктурыэтойбазыданных.
читатьдальше
Чтотакоереестр?
Небольшаястатьяореестре:чтоэтотакое,зачемоннуженикакMicrosoft
дошладотакого.
читатьдальше
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
Восстановлениереестра
Приработесреестромнадособлюдатьосторожность.Удалениекаких-либо
важныхданныхслучайноилипонезнаниюможетпривестиккраху
операционнойсистемы.Тогдаспастиположениеможеттолько
восстановлениепоследнейработоспособнойкопии.
ЕслиВысобралисьпоэкспериментироватьсреестром,предварительно
сохранитенадискефайлыSYSTEM.DATиUSER.DAT.Онинаходятсяв
каталоге,кудабылаустановленаоперационнаясистемаиимеютатрибуты
"толькодлячтения"и"скрытый".Вслучаееслиреестрбудетсерьезно
испорчен,ВысможетепереписатьэтифайлывкаталогWindows,
установитьнужныеатрибутыиреестрбудеткакновенький.Тольконе
вздумайтевосстанавливатьэтифайлы,когдазагруженWindows,иначе
системанакроетсяокончательноиспасетеетолькополнаяпереустановка!
Длявосстановленияэтихфайловнадопредварительноперезагрузитьсяв
DOSиужетамзаменятьиспорченныефайлыхорошими.
Ноэтонеединственныйвариантвосстановленияданных.Деловтом,что
операционнаясистема,прикаждомудачномзапускесохраняеткопию
реестравCAB-файле,которыйзаписываетсявскрытыйкаталог
SYSBCKUPкаталогаWindows.Поумолчанию,хранятсяпоследниепять
копий.Эточисломожетварьироватьсяот0до99иустанавливается
значениемключаMaxBackupCopiesвфайлеscanreg.iniвкаталогеWindows.
Правданестоитустанавливатьслишкомбольшоезначение,т.к.файлы
занимаютнемаломеста(одинфайлимеетразмербольшемегабайта).
Чтобывосстановитьреестрсоднойизэтихрезервныхкопийнадо
перезагрузитьсявDOSивыполнитькоманду
SCANREG/RESTORE
Появитсясписокдоступныхрезервныхкопийреестраотсортированныхпо
времениихсоздания.Послевыборанужнойкопииданныебудут
благополучновосстановлены,иВыполучитереестр,отвечающий
состояниюделнамоментегосоздания.
НоеслиВыустанавливаликакие-топрограммыилименялинастройки
операционнойсистемывпромежутокмеждупоследнейрезервнойкопиейи
сбоемвреестре,товсеэтиданныебезвозвратнопропадут.Надолинам
это?Однозначнонет!Чтобывлюбоевремясоздатьрезервнуюкопию
реестравоспользуйтеськомандой
SCANREG/BACKUP
котораявслучаенормальнопрошедшейпроверкисоздастрезервную
копию.
Ещеодинвариантрезервированияивосстановленияреестрасостоитв
экспортированииразделаилицелойветви,которуюВыпланируете
изменять.ЭтоможноосуществитьвRegediteдляWindowsвменю
"Реестр".Выделитенужныйразделищелкнитепопункту"Экспортфайла
реестра".Послезаданияименифайладанныеэтогоразделабудутвнего
экспортированы.ФайлимеетрасширениеREG.Дляегоимпортированияв
реестрдостаточнодваждыщелкнутьнанемиданныебудутперенесены.
Правдаэтотспособвосстановленияинформацииимеетодинсущественный
недостаток:всеудаленныеилиизмененныезаписибудутвосстановлены,
новотдобавленныезаписиудаленынебудут.Поэтомуданныйспособ
большеподходит,еслиВыпроводитекакие-тонесущественныеизменения,
ичтобыоткатитьихневводястарыеданныезаново,можно
воспользоватьсяэкспортом/импортом.
Вообще,работатьсреестромнадокрайнеосторожно,ноеслиВыбудете
периодическирезервироватьего,тоникакихпроблемвозникнутьне
должно.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
РедакторRegEditиструктурареестра
Основнымсредствомдляпросмотраиредактированиязаписейреестра
служитспециализированнаяутилита"Редакторреестра".Дляеезапуска
наберитевзапускепрограммы(Пуск->Выполнить)командуregedit.
Откроетсяокнопрограммы,вкоторойслеваотображаетсядеревореестра,
похожееповидунаотображениеструктурыдискавПроводнике,асправа
выводятсяключи,содержащиесяввыбранном(активном)разделе.С
помощьюредактораВыможетередактироватьзначения,импортировать
илиэкспортироватьреестр,осуществлятьпоиск.Интерфейсименю
программыдоболизнакомолюбомупользователюWindows,иядумаю,
чтоостанавливатьсянанемподробнонестоит,т.к.егоосвоениене
составитникакоготруда.
Чемудействительнонеобходимоуделитьвнимание,такэтоструктуре
реестра.Онсодержитшестькорневыхразделов(ветвей),накоторыхниже
остановимсяподробнее,каждыйизнихвключаетподразделы,
отображаемыевлевойчастиокнаввидезначкапапки.Конечным
элементомдеревареестраявляютсяключиилипараметры,делящиесяна
тритипа:
-строковые(напр."C:\Windows");
-двоичные(напр.1082A08F).Максимальнаядлинатакогоключа16Кб;
-DWORD.Этоттипключазанимает4байтаиотображаетсяв
шестнадцатеричномивдесятичномвиде(напр.0x00000020(32)-вскобках
указанодесятичноезначениеключа).
Давайтетеперьрассмотримкорневыеразделы,точнеекакаяинформацияв
нихсодержится.Итак,начнемпопорядку:
HKEY_CLASSES_ROOT.Вэтомразделесодержитсяинформацияо
зарегистрированныхвWindowsтипахфайлов,чтопозволяетоткрыватьих
подвойномущелчкумыши,атакжеинформациядляOLEиоперацийdragand-drop;
HKEY_CURRENT_USER.Здесьсодержатсянастройкиоболочки
пользователя(например,Рабочегостола,меню"Пуск",...),вошедшегов
Windows.ОнидублируютсодержимоеподразделаHKEY_USER\name,где
name-имяпользователя,вошедшеговWindows.Еслинакомпьютере
работаетодинпользовательииспользуетсяобычныйвходвWindows,то
значенияразделаберутсяизподразделаHKEY_USERS\.DEFAULT;
HKEY_LOCAL_MACHINE.Этотразделсодержитинформацию,
относящуюсяккомпьютеру:драйверы,установленноепрограммное
обеспечениеиегонастройки;
HKEY_USERS.СодержитнастройкиоболочкиWindowsдлявсех
пользователей.Какбылосказановыше,именноизэтогораздела
информациякопируетсявразделHKEY_CURRENT_USER.Всеизменения
вHKCU(сокращенноеназваниеразделаHKEY_CURRENT_USER)
автоматическипереносятсявHKU;
HKEY_CURRENT_CONFIG.Вэтомразделесодержитсяинформацияо
конфигурацииустройствPlug&Playисведенияоконфигурации
компьютераспеременнымсоставомаппаратныхсредств;
HKEY_DYN_DATA.Здесьхранятсядинамическиеданныеосостоянии
различныхустройств,установленныхнакомпьютерепользователя.Именно
сведенияэтойветвиотображаютсявокне"Свойства:Система"навкладке
"Устройства",вызываемогоизПанелиуправления.Данныеэтогораздела
изменяютсясамойоперационнойсистемой,такчторедактироватьчто-либо
вручнуюнерекомендуется.
НаибольшийинтереспредставляютветвиHKEY_CURRENT_USERи
HKEY_LOCAL_MACHINE.Именнотамхранятсянастройки,позволяющие
привестиВашуоперационнуюсистемувнадлежащийвид:).Поэтому,
почтивсевниманиевдальнейшихстатьяхбудетпосвященоименноэтим
ветвямреестра.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
Структураreg-файлов
ЗнаниереестраWindowsбудетнеполнымбезумениянаписатьreg-файл.
Начнемстого,чтоэтотакое.Reg-файл-этофайл,имеющийопределенную
структуруисодержащийинформацию,котораяможетбытьимпортирована
вреестр.Еслибылазаблокированаработасредакторомреестра(какэто
сделать,можнопрочитатьвстатье),тонаиболеелегкимспособом
подредактироватьреестрбудетсозданиеиимпортированиеreg-файла
(конечно,можновыйтивDOS,взащищенныйрежим,воспользоваться
другимипрограммами,ноэтовсегораздосложнее,аглавноедольше).
Кreg-файлампредъявляютсяопределенныетребованияпоструктуре.
Начнемстого,чтовпервойстрокефайлаобязательнодолжнобыть
введено
REGEDIT4
Обратитевниманиенато,чтобуквыдолжныбытьбольшие.Кромеэтогов
первойстрокеничегобытьнедолжно.ПослеэтоготекстаОБЯЗАТЕЛЬНО
должнабытьпустаястрока.Затем,указываетсяразделреестра,вкотором
надопрописатьилиизменитькакие-топараметры.Названиераздела
должнобытьзаключеновквадратныескобки[...].Нижепрописываются
параметры,которыенадодобавить,поодномупараметрувстроке.Если
вамнадопровестиизменениявнесколькихразделах,товыдолжны
оставлятьоднупустуюстрокумеждупоследнимпараметромпредыдущего
разделаиназваниемследующегораздела.Можетнемногозапутанно,но
воткакэтодолжновыглядеть:
REGEDIT4
[Razdel1]
"param1"="znachenie1"
"param2"="znachenei2"
"param3"="znachenie3"
[Razdel2]
"param_1"="znachenie_1"
ПоследняястрокавфайледолжнабытьПУСТОЙ.Послетого,каквы
создалитакойфайл,простозапуститеегокакобычнуюпрограмму,вам
будетвыданзапросонеобходимостипровестиизменениявреестре,и
послеположительногоответаинформацияизфайлабудетимпортирована.
ОрезультатахимпортированияWindowsсообщитвпоявившемсяпосле
этогоокне.
Теперьпарусловопараметрах,которыеможнодобавлять.Каквы,
наверное,обратиливнимание,вприведенномвышепримередобавляются
параметрыспомощьюстроктипа"param1"="znachenie1".Т.е.таким
образомдобавляетсяСТРОКОВЫЙпараметрсименем"param1"и
значением"znachenie1".Новедьсуществуютещеипараметрыдвоичныеи
DWORD.Форматзаписидляихдобавлениянесколькодругой.Для
параметровтипаDWORDиспользуетсястрока
"param"=dword:XXXXXXXX
Здесь"param"-имяпараметра,dword-указываетнатипэтогопараметра
(буквыдолжныбытьобязательномаленькие!)ипоследвоеточияследует
значениеизвосьмицифрвшестнадцатеричном(!)формате.Однако
большинствопараметровDWORDимеютзначениелибо0,либо1,значит,
выдолжнынаписатьсоответственнолибо00000000,либо00000001вместо
значковХХХХХХХХ.Пробелывстрокенедопускаются.
Длядобавлениядвоичногопараметраформатзаписинесколькоиной:
"param"=hex:XX,XX,XX,....
Теперьрасшифруюэтустроку.Ну,сназваниемпараметравсеясно,после
знака"="идетhex,т.е.указывается,чтоэтобудетдвоичныйпараметр,
затемидутшестнадцатеричныечисла,отделенныезапятой.Например,если
вамнадодобавитьдвоичныйпараметрравный"be000000",товыпишете
строку
"param"=hex:be,00,00,00
Вреестресуществуютпараметры"Поумолчанию"("Default").Чтобы
присвоитьимкакое-тозначениечерезreg-файл,надодобавитьтакую
строку:
@="znachenie"
Здесьзначок@показывает,чтоунасприсваиваетсязначениепараметра
"Поумолчанию".Обратитевниманиенато,чтооннезаключаетсяв
кавычки.
Теперьяприведупримерпростенькогоreg-файла,которыйпрописываетв
реестрсайт,устанавливающийдомашнююстраничкувInternetExplorer'e:
REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer\Main]
"StartPage"="http://www.whatis.ru/"
По-моемувсеоченьпростоипонятно.Ноестьуreg-файловодна
особенность:спомощьюнихнельзяудалятьпараметрывреестре,правда,
можноудалитьразделцеликом.Дляудаленияразделаизреестранадо
передегоименемвквадратныхскобкахпоставитьсимвол"-".Воткакэто
выглядит:
[-HKEY_LOCAL_MACHINE\Software\QuickSoft\QuickStart]
Благодаряэтойзаписи,подраздел"QuickStart"израздела"QuickSoft"будет
удаленсовсемсодержимым.Однако,какбытьспараметрами?Ведьих
удалятьнельзя.Так,установкаограниченийнадоступкразличным
настройкамоболочкиWindows,какописановстатье,производитсяс
помощьюпараметровтипаDWORD.Приэтом,еслизначениепараметра
равно1(00000001),тоограничениевключено,аеслиравно0(00000000),то
ограничениеотключено.Такимобразом,параметрыудалятьвовсене
обязательно,достаточнопростоприсвоитьимзначенияравныенулю.
Замечаниепоповодуудаления,сделанноеНиколаемБасмановым:
ПрипомощиREG-файловможноудалятьпараметры.Синтаксис:
REGEDIT4
[HKEY_CURRENT_USER\Software]
"xxx"=-
Вот,пожалуй,всяосновнаяинформацияпоструктуреreg-файлов.
Рекомендуюещепопробоватьпоэкспортироватьизреестракакие-нибудь
разделы(неоченьбольшиесмаленькойвложенностью),чтобылишнийраз
посмотретьструктуруфайлов.Этоникогданепомешает.Теперьвыисами
сможетеслегкостьювноситьизменениявреестрспомощьюreg-файлов.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
Структурареестра
Статьявзятассайтаhttp://paullee.ru/articles,авторGeneralPaulLee
Corruption.
Сегоднямыпоговоримотом,чтомногиеназывают"помойнойямой"
Windows,аименноореестре.Многиеуженаучилисьработатьс
содержимымреестра:менятьпараметрысистемы,извлекатьполезную
информациюит.д.-ноневсезнают,чтожепредставляетизсебяреестр
Windows"изнутри".
ВсистемеWin95/98(онейсегодняпойдетречь)реестрхранитсявдвух
файлахSYSTEM.DATиUSER.DAT.Какихнайти.Вкорневомкаталоге
загрузочногодискаимеетсяфайлустановоккомандногопроцессора
MSDOS.SYS,вразделе[Paths]которогоследуетотыскатьпеременную
WinDir.Еезначение-каталогсустановленнойWin95/98,внеминаходятся
интересующиенасфайлы.Надозаметить,чтоониимеютатрибутHidden
(скрытый)иReadonly(толькодлячтения).
Чтожепредставляетизсебяфайлреестра?Этофайлданныхдревовидной
структуры,состоящийизтрехосновныхчастей:заголовка,индекса,и
данных,которыемогутрасполагатьсяводномилинесколькихблоках.
Заголовок-записьразмером20h(32)байтаимеетследующийвид:
00h:4байта-"CREG"сигнатуразаголовкареестра
08h:двойноеслово-адреспервогоблокаданных
10h:слово-количествоблоковданных
Индекс-списокссылокнаэлементыреестра(наеговетви),имеетсвой
подзаголовокразмеромв10hбайт:
00h:4байта-"RGKN"сигнатураиндексареестра
04h:двойноеслово-размериндекса
08h:слово-относительноесмещениеадресавфайле
(обычноравно20h-размерзаголовкареестра)
0Ch:двойноеслово-количествозаписейвиндексе
Далееидутзаписииндексаследующейструктуры:
00h:двойноеслово
04h:двойноеслово-контрольнаясуммаключа
(суммавсехбуквимениключавверхнемрегистре)
08h:двойноеслово
0Ch:двойноеслово-указательнапредка
10h:двойноеслово-указательнапотомка
14h:двойноеслово-указательнаследующийключэтогоуровня
18h:слово-номерблокаданных,вкоторомнаходитсяключ
1Ah:слово-номер(непорядковый!)ключавблокеданных
Такимобразом,мывидим,чтовиндекспредставляетсобойкаркасдерева,
котороеможетсостоятьиз(0FFFFFFFFh-10h)/1Ch=9249248h(153391688)
элементов(где0FFFFFFFFh-максимальныйразмериндекса,10hподзаголовокиндекса,1Chразмерзаписивиндексе),сусловиемтого,что
индексвфайлеможетбытьтолькоодин(?).
Вседанные(именаключей,ихпараметрыизначенияпараметров)
находятсявблокахданных.Исходяизразмераотведенногоподколичество
этихблоковвзаголовкефайлареестра,видно,чтоихможетбытьнеболее
64k(65536).Хотя,какдальшебудетвидно,подразмерсамогоблокаданных
отведенодвойноеслово,мнеличнонедовелосьвстречатьблокибольше
0F000hбайт.Еслипринятьэтотфактзаправило,тонетрудновычислить
максимальныйразмерфайлареестра~7,75Gb.Еслижеиспользовать
возможностипо"раздутию"файланаполнуюкатушку,торазмеродного
файламожетдостичьсовершеннонемыслимыхразмеров~256Tb.
Итак,блокиданных.Каждыйблокданныхимеетсвойподзаголовок:
00h:4байта-"RGDB"сигнатураблокаданных
04h:двойноеслово-размерблокаданных
08h:двойноеслово-размерсвободногоразделавблоке
0Ch:слово-(8)
0Eh:слово-номерблокаданных
10h:двойноеслово-указательнасвободныйраздел
14h:слово-количестворазделоввблоке(включаясвободныйраздел)
16h:слово-свободныйномердлясозданияэлемента
18h:8байт-выравнивание
Длякаждогоновогоэлементасоздаетсясвойраздел,начинаясначала
свободногораздела.Приудаленииразделаданныевблокесдвигаются,
заполняясобойосвободившеесяместоиувеличивая,темсамым,
свободныйраздел.Приуменьшенииразмераинформациивнутрираздела,
местонеосвобождается,атолькоменяетсяреальныйразмерзаписи(см.
далее).
Записивблокеданныхимеютследующуюструктуру:
00h:двойноеслово-размерзаписи
04h:слово-номерзаписивблоке
06h:слово-номерблокаданных
08h:двойноеслово-реальныйразмерзаписи
0Ah:слово-размеримениключа(n)
0Ch:слово-количествопараметров
0Eh:nбайт-имяключа
0Eh+n:-информацияопараметрах:
00h:двойноеслово-типпараметра
04h:двойноеслово(?)
08h:слово-размерименипараметра(n)
0Ah:слово-размерзначенияпараметра(m)
0Ch:nбайт-имяпараметра
0Ch+n:mбайт-значениепараметра
Информацияопараметрахзаписываетсяодинзадругим,безкакого-либо
разделения.Еслиупараметраотсутствуетимя(размерравеннулю),тоон
считаетсяпараметром"поумолчанию"дляэтогоключа.
ПрограммаредактированияреестраRegEditпредоставляетвозможность
созданияпараметровлишьтрехтипов(1,3,4),хотяWindowsпозволяет
хранитьдо65536типовпараметров.
ПРИЛОЖЕНИЕ1
ТипыпараметровзарезервированныевMSDE
0-REG_NONE
Неопределенныйтип
1-REG_SZ
Строка,заканчивающаясянулем
2-REG_EXPAND_SZ
Строка,заканчивающаясянулем
(соссылкаминапеременныеокружения)
3-REG_BINARY
Двоичныйтип
4-REG_DWORDилиREG_DWORD_LITTLE_ENDIAN
Двойноеслово
5-REG_DWORD_BIG_ENDIAN
Двойноеслово
6-REG_LINK
Символическаясвязь
(SymbolicLink)
7-REG_MULTI_SZ
Многостроковыйпараметр
(строкиразделеныконечныминулями)
8-REG_RESOURCE_LIST
Представлениересурсаввидекартыресурса
(Resourcelistintheresourcemap)
9-REG_FULL_RESOURCE_DESCRIPTOR
Представлениересурсаввидеаппаратногоописания
(Resourcelistinthehardwaredescription)
10-REG_RESOURCE_REQUIREMENTS_LIST
ПРИЛОЖЕНИЕ2
Схематичноепредставлениеструктурыфайлареестра
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
Чтотакоереестр?Общаятеория
Впоследнеевремяизустмолодыхлюдей,пользующихсякомпьютером,
можночастенькоуслышатьфразытипа"Windows-MUSTDIE,UNIXCOOL".Причемкричатобэтом,какправило,людисидящиеподэтим
самымWindows-ом,аUNIXвидевшиепаруразусоседа-программера.В
чемжепричинатакой"нелюбви"ксамойраспространеннойоперационной
системе?Многиескажут,чтопроблемаWindowsвогромномколичестве
дырок,служащихдляатакихакеровнаудаленныемашины.Новедьв
UNIX-системахдырокничутьнеменьше,инеграмотнонастроенныйUNIX
можносравнитьсрешетом.Другоедело,чтопонастройкеUNIXможно
найтимножестводокументации,грамотнообъясняющей,какэтисамые
дырызалатать.БедаWindowsвнедостаточнойдокументированности(не
считатьжесправочнуюинформацию,встроеннуювОкна,еезаменителем).
Иразработчикиупорноскрываютотпользователейсамыеинтересные
возможностиоперационнойсистемы.
ОченьнемногиепользователиWindowsзнают,чтоестьвозможность
настроитьпрактическивсепараметрыоболочки.Причемэтинастройки
зачастуюневозможноподкорректироватьстандартнымисредствамии
инструментамисамойоперационнойсистемы.Ибольшинствонастроек
Windowsхранятсявреестре.
Реестр-базаданныхоперационнойсистемы,содержащая
конфигурационныесведения.Физическивсяинформацияреестраразбита
надвафайла:SYSTEM.DATиUSER.DAT,находящиесявкаталоге
Windows.РеестрыWindows9хиNTчастичноразличаются.Информация,
приведеннаявэтомразделепобольшейчастиотноситсякверсии9хиME,
еслиэтонеоговариваетсяотдельно.Но,всеже,различияненастолько
кардинальныибольшаячастьинформациибудетсправедливаидля
WindowsNT.
ВсовременномвидереестрвпервыепоявляетсявWindows95(вWindows
3.1былтолькофайлREG.DAT,содержащийинформацию,котораясейчас
расположенавразделеHKEY_CLASSES_ROOT).ПозамыслуMicrosoftон
долженбылполностьюзаменитьфайлыini,хранящиевсюнастроечную
информацию.Ипозаверениямразработчиковфайлыiniоставленытолько
длясовместимостисостарымипрограммами,ориентированныминаболее
ранниеверсииоперационнойсистемы.Вдействительностиэтонесовсем
такичастьнастроекпо-прежнемухранитсявэтихфайлах.По
рекомендациямMicrosoft,сторонниеразработчикипрограммного
обеспечениядолжныхранитьнастроечнуюинформациютакжевреестре.
Такимобразом,внемхранитсяинформацияпоаппаратнойконфигурации
компьютера,различныенастройкиоперационнойсистемыинастройки
программ,которыеВыустанавливаете.
Такпочемувсе-такипроизошелпереходотiniфайловкреестру?Делов
том,чтонаэтифайлынакладываетсярядсерьезныхограничений,и
главноеизнихсостоитвтом,чтопредельныйразмертакогофайла
составляет64Кб.Ктомужеинформациявнихплохоструктурированав
отличиеотреестра.
Нужнолипростомупользователюразбиратьсявреестре?Вбольшинстве
случаев,когдавсефункционируетнормально,необходимостизаглядывать
туданет.Ноиногдавозникаютситуации,требующиенепосредственного
вмешательствавэтубазуданныхитогданадоиметьхотябы
приблизительноепредставлениеоструктуререестра,его
функционировании,месторасположенииразличнойинформациии
принциповработысней.
ПРЕДУПРЕЖДЕНИЕ:НИКОГДАнеудаляйтеилинеменяйте
информациювреестре,еслиВынеуверенычтоэтоименното,чтонужно.
Впротивномслучаенекорректноеизменениеданныхможетпривестик
сбоямвработеWindowsи,влучшемслучае,информациюпридется
восстанавливатьизрезервнойкопии.
НадеюсьВыпрониклисьидеейнеобходимостиизученияэтогоинтересного
иважноговопроса.Да?Тогдавпуть:).
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
Чтоскрываетсявавтозагрузке?
Ну,что,очереднойразрешиливключитькомпьютериполазитьв
Интернет?Нуикаккомпьютергрузится?Медленно?Иприэтомжужжит
винчестеромкакмайскийжук?Ничегоудивительного.Ачтоувасгрузится
каждыйразпристартесистемы?Какнезнаю?!Тогдапорапросвещаться,а
заоднопроверим,нетлигдехитрыхтроянов,нагловорующихпаролиот
Интернет.
Спервавыясним,какWindowsузнаетопрограммах,которыенадо
запуститьвовремястартасистемы.Всегоестьтриместа,гдехранятсяэти
сведения:папкаАвтозагрузкаизменю"Пуск",файлwin.iniиреестр.Ну,с
Автозагрузкойвсепонятно-этонаиболеепростоеидоступноеместодля
запускапрограмм,авотнаwin.iniиреестрестоитостановиться
поподробнее.
Начнем,пожалуй,сфайла.ХотьMicrosoftиусиленнопризывает
разработчиковхранитьвсенастройкивреестре,отказываясьотINI-файлов,
уверяетпользователейвтом,чтоэтифайлыоставленытолькодля
совместимостисостарымипрограммами,темнеменее,самипродолжают
имипользоваться.Самфайлнаходитсявкаталоге,гдеустановлена
операционнаясистема.Откройтееголюбымтекстовымредактором.В
самомначалефайлавыувидитераздел[windows].Вэтомразделеестьдва
параметра,отвечающиезаавтоматическуюзагрузкупрограмм-loadиrun.
Обычноонипустые,ноеслитаместькакая-тозапись,обязательно
проверьте,чтозапрограммуоназапускает,инезатесалосьлитудачто-то
вродеkernel16.exe:).
Сwin.iniвсепросто-таместьтолькоодноинтересующеенасвданный
моментместо.Среестромделообстоитнесколькосложнее.Тамуже
гораздобольшепространства,кудаможетспрятатьсянезваныйгость.Итак,
открываемреестриначинаемпоиски.
Сперваоткройтераздел
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion.
НайдитетамподразделыRun,RunOnce,RunOnceEx,RunServices,
RunServicesOnce.Вэтихразделахестьстроковыеключи(некоторые
разделыпустые),отвечающиезазапускпрограмм.Названиеключаможет
бытьпроизвольным,авкачествезначенияунихуказываетсязапускаемая
программа,еслинадо-тоспараметрами.Обратитевниманиенаразделы,в
названиикоторыхприсутствует"Once".Эторазделы,вкоторых
прописываютсяпрограммы,запусккоторыхнадопроизвестивсегоодин
раз.Например,приустановкеновыхпрограммнекоторыеизних
прописываюттудаключи,указывающиенакакие-нибудьнастроечные
модули,которыезапускаютсясразупослеперезагрузкикомпьютера.Такие
ключипослесвоегозапускаавтоматическиудаляются.
Внимательнопроверьте,чтозапрограммыувасзапускаются.Сразупосле
установкиWindowsвразделеRunприсутствуютключисназваниями
internat.exe,LoadPowerProfile,ScanRegistry,SystemTray,TaskMonitor.В
разделеRunServices-ключLoadPowerProfile.Другиеразделыпустые.
Остальныеключи,которыемогутприсутствоватьувасвреестре,были
добавленыдругимиустановленнымипрограммами.Подумайте,вселиони
нужнывампризагрузкеилишнеепростоудалите.Этопозволит
значительноускоритьзагрузкуWindows.
Ноэтонеединственныйраздел,откудазапускаютсяпрограммы.Перейдем
кдругойветви,аименнокHKEY_CURRENT_USERиоткроемтамраздел
SOFTWARE\Microsoft\Windows\CurrentVersion.Таместьтолькодва
подраздела,отвечающиезаавтозагрузку:RunиRunonce.Изначальноони
пустые,такчтовсезаписитамсделаныдругимипрограммами.
Следуетпомнить,чтоизреестрапрограммызапускаютсявпервую
очередь,затемизфайлаwin.iniисамымипоследнимииз"Автозагрузки".
Такчтоеслиувасстоитвавтозагрузкеантивирусныймонитор,тоэтоеще
нефакт,чтоонотловитзапусктроянца,т.к.вирусыимеютгораздо
меньшийпоразмеруфайлигрузятсяневпримербыстрее.
Вот,пожалуй,ивсеобавтоматическизапускаемыхвWindowsпрограммах.
Есливыхотитеускоритьзагрузкувашегокомпьютера,тоудалитевсе
лишнееизперечисленныхразделов.Акогдавыустанавливаетекакую-то
подозрительнуюпрограммуилизапускаетенеизвестныйфайл,проверьте,
недобавилосьлитамчеголишнего:ужбольномноговпоследнеевремя
развелосьтрояновислишкомширокиемассыпользователейполучилик
нимдоступ.Такчтолишняяосторожностьникогданеповредит.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
Когдапоселилсянезванныйгость...
Бываютситуации,когданакомпьютеребезведомавладельцапоявляются
различныевредныепрограммки,пытающиесяосуществлятьдействия,
поройпрепятствующиенормальнойработеивредящиепрограммному
обеспечению.Запримерамидалекоходитьненадо:интернетпростокишит
различнымитроянцами,некоторыесайты(содержащиепорно-ресурсы,
крак-хак-странички,халява)норовятпоменятьначальнуюстраничку,атои
закинутьпрограмму,котораябудетвопрекивсемвашимдействиям
постоянновосстанавливатьссылкунасвойсайт.Этатемадействительно
актуальна,стоитвзглянутьхотябынавопросыразличныхфорумови,
несмотрянаналичиеужеоднойпохожейстатьи(Чтоскрываетсяв
автозагрузке),ярешилповторноподнятьэтотвопрос,норассмотретьего
именноспозицииспособовзагрузкитакихнеприятных"гостинцев".
Спервакоротенькопробегусьпосамымтривиальными,пожалуй,
известнымпрактическивсемместамиметодамзагрузкипрограмм.
Реестр
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run.
Изначальносодержитпараметры:
-internat.exe-индикаторклавиатурывSystemTray;
-LoadPowerProfile-загрузкапользовательскогопрофиля(общеедлявсех);
-ScanRegistry-ежедневнаяпроверкаиархивацияреестра;
-SystemTray-загрузкаSystemTray;
-TaskMonitor-планировщикзаданий(домаяеговсегдастираюиз
автозагрузки,чтобнезанималместовпамяти).
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices:
-LoadPowerProfile-аналогиченпараметрустакимженазваниемвразделе
Run,толькоздесьужегрузитсяпрофильконкретногопользователя(после
того,каквсистемувошлиподчьим-тоименем).
Остальныеразделыдолжныбытьпустыми!Полныйихсписоквысможете
посмотретьвупомянутойвышестатье.Остальныепараметрывэтих
разделахбылидобавленыдругимипрограммами,установленнымина
вашемкомпьютере.Какправило,поназваниюпараметралегкодогадаться
отом,какуюпрограммуонзапускает.Есливысомневаетесьв
правомерностинахожденияздеськакого-либопараметра,экспортируйте
этоткусочекреестравreg-файл,затемсотритеподозрительныйпараметр,
перезагрузитекомпьютерипроанализируйте,чтоизменилось:неисчезла
ликакая-нибудьполезнаяпрограмма,котораядоэтоговсегдагрузилась,не
пропалалипроблема,подтолкнувшаяваснаэксперименты.
Следующийпунктнашейпрограммы:файлыwin.ini,system.ini.Проверьте
раздел[windows],параметрыrun,load.Тамдолжнобытьпусто.Некоторые
интернет-червиитроянцыиспользуютименноэтулазейку,чтобыкаждый
разстартоватьпризагрузке.Так,вsystem.iniизначальноотсутствуетраздел
[windows],однакоеслисоздатьего,товнутринегоможнопрописать
параметрload=имя_файлаиспомощьюэтогозапуститьнужную
программу.Иеслиозагрузкевwin.iniзнаютмногие,тоsystem.ini
частенькоостаетсязакадром,чемипользуютсяразличныетроянские
программы.Одинразрадиэкспериментаязаразилсвойкомпьютеркакимтоизэтихвирусов(имясейчасявспомнитьнемогу),таконпрописалсвою
загрузкувовсехразделахреестраифайлахwin.iniиsystem.ini.Такчто
есливынашлигде-тооднузапись,неуспокаивайтесьнадостигнутом,а
проверьтевсевозможныеместазагрузки.
Этобылисамыепростыеиобщеизвестныеспособызагрузкипрограмм,
пораперейтикнетривиальным.
Проверьте,аувасвменюПуск->Программы->Автозагрузкаестьссылки
наофисовскиепримочки?Аведьвозможнопростоподменитьзапускаемую
спомощьюнихпрограммутакимобразом,чтобыгрузилсятроянчик,ауже
изнегозапускатьтребуемуюпрограмму.Ядумаю,далеконекаждый
сообразитпоискатьтампричинувсехпроблем.
Следующийспособ-этонесовсемавтозагрузка,нонекоторыевирусы
используютего,чтобынезаметнозапускатьсянакомпьютере.Вразделе
HKEY_CLASSES_ROOT\exefile\shell\open\commandвпараметре(По
умолчанию)стоиткомандаобработкиехе-файлов.Тамдолжнобыть"%1"
%*,новозможнозапускатьздеськакую-топрограмму,передаваяейв
качествепараметраехе-файл,которыйнадозапустить.Программазапустит
его,азатемвыполнитсвоювредоноснуюмиссию.
Конечно,описанныеспособывесьмаредки,ноеслинеудаетсянайти
виновникапроблемвдругихместах,тонадопроконтролироватьиэти
возможности.
Теперьхотелосьбыописатьдействительноредкие,ноинаиболеетяжело
идентифицируемыеспособызагрузкипрограмм.Этаинформациябыла
почерпнутаизжурналаХакер№11.01.Этиспособызагрузкибыли
найденыприразработкеизвестноготроянаDonaldDick.
ДляоперационныхсистемWindows9xвозможнозагружатьпрограммус
помощьюдрайвераVxD.Полныйсписокзагружаемыхдрайверов
находитсявразделе
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD.В
WindowsNT/2000нетVxDдрайверов,новразделе
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager
впараметреBootExecuteможнопрописатьпрограмму,котораябудет
грузитьсяещедозагрузкиграфическойоболочкиисервисов.Естьиболее
хитрыеспособы,ноониещеболееэкзотические.Вызываетсерьезные
сомнениявозможностьотловить"диверсантов",загружаемыхтакими
способами,вручную.Лучшедоверитьэтоспециалистам,тоестьAVP,
DrWebидругимантивирусам,таккакэтимиспособамигрузятсятолькоих
непосредственныеклиенты.
Конечно,написанноевыше,неохватываетАБСОЛЮТНОвсехспособов
автозагрузки,но95%перекрываетнаверняка.Покрайнеймере,
большинствовозникающихпоэтойтемевопросовстатьядолжна
разрешить.Главное,небойтесьдуматьиэкспериментировать,ивсеувас
получится.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
Запрещениезапускапрограмм
Материалыэтойстатьи,ядумаю,оченьпригодятсяначальникам,которым
надобытьтвердоуверенным,чтоихподчиненныенакомпьютереработают
толькоснужнымипрограммами,анегоняютвигрушки,когдаэтогоникто
невидит.ТакчтоНИЗАЧТОнепоказывайтеимее:).Такжеонабудет
весьмаинтереснамногимадминам.АеслиуВаснакомпьютереработает
маленькийребенок,которыйноровитзапуститьformatc:,тоэтастатья
точнодляВас.
ЗнаетелиВы,чтоWindowsпозволяетзапретитьзапусквсехпрограмм,
кромеразрешенныхвспециальномсписке?Аэтодействительнотак,и
поройэтавозможностьбываеточеньполезна.
Итак,дляограничениязапускаемыхпрограммнадооткрытьраздел
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVerson\Policies\Explore
реестраисоздатьтамключRestrictRunтипаDWORDсозначением
0х00000001.Затемтутженадосоздатьподразделсаналогичнымименеми
внемперечислитьсписокРАЗРЕШЕННЫХкзапускупрограмм.Дляэтого
заходимвразделисоздаемдлякаждойпрограммыстроковыйключс
названием"1"(безкавычек)-дляпервойразрешеннойпрограммы,"2"длявторойит.д.вкачествезначенийкоторыхнадоуказатьименафайлов
разрешенныхкзапускупрограмм.Файлыдолжныбытьсрасширением,
путьуказыватьнеобязательно.Например,Word.exe,Excel.exe...
НезабудьтеуказатьфайлRegedit.exe,иначеВысаминесможетебольше
запуститьредакторреестра:).Еслинакомпьютереестьнесколько
пользователей,тоэтонестрашно:можнозайтиподдругимименеми
оттудаизменитьзаписиреестра,ноеслипользовательодин-этоможет
составитьсерьезнуюпроблему.Спастивтакойситуацииможеттолько
созданиефайласрасширениемREG,вкоторомбудутотмененынастройки.
ЧтобыснятьограничениянадоустановитьзначениеключаRestrictRunв
нольилиудалитьего.СпомощьюREG-файлаудалитьключневозможно,а
вотустановитьегов0несоставиттруда.Вотпримертакогофайла:
REGEDIT4
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"RestrictRun"=dword:00000000
Давайтеразберемегоподробнее.Впервойстрокедолжнаобязательно
присутствоватьстрокаREGEDIT4,посленеедолжнабытьпустаястрока,а
затемидутзаписиреестра.Вквадратныхскобкахуказываетсяраздел
реестра,аподнимперечисляютсяключи,которыевнеговходят:имяключа
вкавычкахипослезнака"="егозначение.
Можно,конечно,воспользоватьсяиверсиейредакторареестраподDOS.
Всеэтинастройкивступаютвсилутолькопослеперезагрузкикомпьютера.
Чтобыокончательнозаблокироватьсистемуотпостороннего
вмешательстваможнозапретитьзапускпользователемредакторареестра.
Дляэтогонадовразделе
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVerson\Policies\System
добавитьключDisableRegistryToolsсозначением0х00000001.Запуск
редакторареестрабудетзапрещен,однакоостанетсявозможностьвносит
измененияспомощьюпрограммногообеспечениясторонних
разработчиковиспомощьюREG-файлов,какописановыше.
Главное,прииспользованииматериаловэтойстатьинапрактике,быть
внимательнымиинеограничитьзапускпрограммнастолько,чтопотом
самимнеудастсяничегосделать.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
Идеальнозащищеннаясистема
Алексей
Сразухочусказать,чтотакойнебывает.Но,темнеменее,сейчасподскажу
вамсвоескромноемнениекак
достичьотносительногоспокойствия,относительнотехданных,чтоувас
хранятся.Речьпойдетнеосетевой,аолокальной
безопасностинаплатформеWindows.КакаяименноWindowsне
важно,уверяювас(нуконечно,исключаяWindows3.1).Почему?
ПотомучтоломатьвашипаролинаXPилиWindows2000(ав9-xэтоне
имеетсмысла),разумеется,черныепиджакинебудут.И
конкурентытоже.Черныепиджаки,тупоснимутвинтисделают
себеполныйдоступ(этоеслиувассистемаNTFS),аконкуренты
могутлибоподкинутьинсайдера(внедренныйсотрудник),либо
программушпиона(троянпонашему),либоопятьтакитупо
выкрастьвинты.Язнаюслучайкогдатемныелюдишкировноза9
минутвыпилиликусокпола,поснималивинтыссервераи
исчезли.ВариантсMSWindowsальтернативныйвсетакиесть,это
встроенноешифрованиеданных(имеетсяввидуXPи2000),ноприкол
весьвтом,чтошифрованиевсестроитсяна
уникальномIDпользователя,тоестьприпереустановкеWindowsвыхрен
ихпотомраскриптуете.Тутвыможетесомнойспорить,илидоказывать
что-то,ияваснебудупереубеждать,я
встроеннымшифрованиемникогданепользовалсяизнанияимею
лишьповерхностные.Итаксобственномоисоображенияпоэтому
поводу.
Политикабезопасностиначинаетсяссамого
началаустановкиWindows.Перво-напервосделайте
низкоуровневоеформатированиевинчестерапередустановкой.Так
какнавинтемогутостатьсявашипредыдущиегрешки,которые
легкоподнимаются(напримерпрограммойEasyrecovery).
Теперь,послеустановкиWindows,создаемдиск
впамятиипереносимвсетемпананего.Зачемэтонужно?Во
времяоткрытиялюбогоархива,прилюбойинсталляции,идаже
приполучениипочты,Windowsзаписываетфайлывовременные
папки.Поэтомуоттудаможноподнятьоччченьмноговсего
интересного.Априразмещениивиртуальногодискавпланке
памятивашегокомпа,всетемпазатеретьоченьпростовыключитькомпьютер.Поднятьоттудаданныевозможно,если
сдампитьпамятьнаспециальномустройстве.Нодляэтогонадо
этупланкупамятизабратьссобой,знатьчтонанеймогутбыть
расположеныкакиетоданные,иразумеетсянеумудриться
включитькомпьютер,приэтомвсебудетзатерто(абсурд,если
нечитатьэтустатьюдоэтого).Этимядумаючерныепиджаки
заниматьсянебудут.Какэтосделать?Качаемотсюда
http://www.superspeed.com/RAMDISKXPPRO
(работаеттолькоподXP)либосMicrosoftDownloadпрограмму
RAMDISK(ограничениеразмерадиска32Mb).Прииспользовании
RAMDISKотMicrosoftвыможетестолкнутьсяструдностямипри
распаковкеархивовбольше32Мб,атакиеесть,разумеется.
ПоэтомусоветуюRAMDISKXPPRO,илиподобныепрограммы
("RAMDRIVE"впоисковойстрокеYandex).Есливыпытаетесьэто
сделатьнаужеустановленнойWindows,тогдаобязательно,после
переносатемпов,сделайтеWipefreespace.Этапроцедура
забиваетнулямивсесвободноеместонадиске,тоестьпосле
нееподнятьчто-либочтобылодоэтого,уженевозможно.Для
этогонампонадобитьсяпрограммаPGP(PrettyGoodPrivacy).
Взятьсоответственнонаhttp://www.pgp.com/.Онажепригодитьсядля
созданиявиртуальногодиска,дляхранениявсейинформации,не
предназначеннойдлячужихглаз(черныхпиджаков,конкурентов,
начальства,любовницы,etc).ПодробнеевUserManualпоPGP.
Чемоналучшеподобныхпрограмм(напримерSteganosSecuritySuite)?
Первое-изначальноонаписаласькакFreeware,исходникикнейдоступны
исегодня.Этозначит(несмотряна
слухи),чтоникакихчерныхдырдляправительствавнейнет.
Второе-PGPсоздаетсобственныйдрайверклавиатуры,поэтому
всякиеkeylogger-ыишпионыпарольнеперехватят.Втретьих,дажеокна
длявводапароляпрограммагенерируетсвои,чемэто
лучшеобъяснюнапримере-ЕстьпрограммаDOP(Displayofpasswords)
онапоказываетпаролискрытыезвездочками,таквот
вSteganosонапароливскрывает,аPGPконечноженет.В
четвертых-ниразуяличноненаходилвинтернете,что
существуютбагиидырывPGP,речьидетоpgp-дисках.Когда-то
былафишкассообщениямичерезOutlookExpress,ноеебыстро
залатали,аобновлениявыходятпостоянно.Каксовет-Pgpдиск
лучшесоздатьодин,нобольшой.Положитьегоненасистемный
винтиобозватьpagefile.sys.Теперьнанеговниманиямалокто
обратит.Потомукакфайлподкачкиможносоздатьналюбомвинте
илюбогоразмера.
Теоретическиеговзломатьможно.Носколько
наэтопонадобитьсявремени?Аэтоявамскажунегодинедва
инепять.Заэтовремяинформациябезнадежноустареет(недля
любовницыконечно).
Теперьзащитаотшпионов.Самособойэто
файервол.Какойименновыбирайтесами,яличнообеимируками
заOutpost.Писалинаши,ценасмешная,работает100%.Это
защититоттроянов.Нуиконечноантивирус.Этоопятьна
любителя,мойсоветSymantecNortonAntivirus2004.
Вотсобственноивсе.Посетевой
безопасности,как-нибудьвдругойраз...
СбесконечнымуважениемкВамичерным
пиджакам.Sertifikat0R.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
ОграничениедоступакнастройкамWindows
Приведенныйвстатьематериалвравнойстепениотноситсякакк
Windows9x,такиNT,2000.Покрайнеймере,большинствонастроек
работаетвобоихоперационныхсистемах.
Нидлякогонесекрет,чтовопросамбезопасностивWindows9xуделено
оченьмаловнимания.Любойпользовательможетсделатьсоперационкой
чтоугодно,изменитьлюбыенастройкиоболочки.Есличеловекодин
работаетзакомпьютеромикнемунетдоступапосторонних,тотакие
проблемыпередпользователемнестоят.Затонапредприятиях,в
компьютерныхклубах,конторахэтооченьактуальныйвопрос.Так,в
бытностьмоюработыназаводе,кнампериодическидляпрохождения
практикиприходилистуденты.Инебылодлянихбольшейрадости,чем
такисковеркатьоболочкуВиндов,чтопотомнамнужнабыламасса
временидляисправленияих"художеств".Хотелосьпросторуки
поотрыватьзастигнутомунаместепреступленияхулигану,норазвеза
всемиуследишь?Вотеслибывтовремяуменябылаподрукамитакая
статья...
Итак,здесьвынайдетеинформациюотом,какзапретитьдоступк
настройкамразличныхпараметровоперационнойсистемы,аименно:к
настройкамсети,экрана,паролей,принтеров,системнымнастройкам.
Сограничениемдоступакнастройкамэкранахотелосьбысразуотправить
васкдругойстатье"Настройкасвойствсети,оболочкиWindowsNT".
Материал,относящийсякнастройкамэкрана,справедливидляWindows
9x,адублироватьинформациюнехотелосьбы.
Ограничениедоступакнастройкамсети.
Всеключидлянастройкипараметроврасположенывразделе
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Netwo
имеюттипDWORD,значение1-ограничениеустановлено,0-нет.Если
ключастакимназваниемвразделенет,значит,этотпараметрне
установлен.
NoNetSetup-приустановкеэтогоключадиалог"Сеть"вПанели
управления(онжесвойства"Сетевогоокружения")становится
недоступным;
NoNetSetupIDPage-приустановкеэтогоключаиздиалога"Сеть"
пропадаетвкладка"Идентификация";
NoNetSetupSecurityPage-пропадаетвкладка"Управлениедоступом"из
диалога"Сеть".
Ограничениедоступакнастройкампаролей.
Ключихранятсявразделе
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
реестра,и,аналогичнопредыдущемупункту,имеюттипDWORD.
NoSecCPL-установкаключав1приводитктому,чтодиалог"Свойства:
Пароли"изПанелиуправления,становитсянедоступным;
NoPwdPage-вкладка"Сменапаролей"этогодиалогастановится
недоступной;
NoAdminPage-вкладка"Удаленноеадминистрирование"диалога
становитсянедоступной;
NoProfilePage-вкладка"Профилипользователей"диалога,вотведь
неожиданность,тожестановитсянедоступной.
Ограничениедоступакнастройкампринтеров.
Всеключирасположенывразделе
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explor
Ну,проDWORDиединицуснулем,ядумаю,выужедогадались:).
NoPrinterTabs-установкаключаскрываетнекоторыевкладкивдиалоге
"Свойства:принтер";
NoDeletePrinter-какможнопонятьизназвания,запрещаетудалять
установленныевсистемепринтеры;
NoAddPrinter-аэтотключнаоборот,запрещаетдобавлятьновые
принтеры.
Ограничениедоступаксистемнымнастройкам.
Ключирасположенывразделе
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
NoDevMgrPage-еслиприсвоитьэтомуключузначение1,тоиздиалога
"Свойства:Система"исчезнетвкладка"Устройства";
NoConfigPage-скрываетвкладку"Профилиоборудования"издиалога
"Свойства:Система";
NoFileSysPage-этотключделаетнедоступнымкнопку"Файловаясистема"
навкладке"Быстродействие";
NoVirtMemPage-приегоустановкеделаетсянедоступнойкнопка
"Виртуальнаяпамять"навкладке"Быстродействие".
Этинастройкипозволятвамобезопаситькомпьютереслинеотвнешних
врагов,то,покрайнеймере,отвнутренних.Ядумаю,любойсистемный
администраторзнает,чтонаибольшийвредсистемеспособнынанестине
хакеры,пытающиесяпроникнутьизвне,аглупыедействияпользователей,
работающихнаэтомкомпьютере.Недаромглавныезаповедиадминов"Не
верьникому"и"Непускайкозлавогород"(Саня,спасибозанауку:)).
Материалэтойстатьи,атакженастройкаменю"Пуск",позволитвам
оградитьваш"огород"отнежелательных"гостей".
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
СкрываеминформациючерезбагивFAT32,NTFS
иDOS-командах
Хотелось бы продолжить обсуждение довольно интересного вопроса,
начатоговстатье"Сокрытиеинформации".Конечно,архивироватьфайлы,
шифровать их, менять название и расширение, записывать в системные
каталоги - это все здорово. Но представьте себе возможность спрятать
файлы в каталог, который вообще не видно в операционной системе.
Скажете, что такое невозможно? И будете не правы! Точнее, с небольшой
оговоркой - это невозможно в NTFS (об этом несколько ниже), а вот в
FAT32запросто.
Замечательная возможность создать невидимый каталог у нас появляется
благодарябагамвFAT32иDOS-овскихкомандах.Скажусразу:ошибкиэти
нашелотнюдьнея.Информацияонихпролеталанапросторахсетиимени
собакиодного изпредставителейсексуальныхменьшинств(длятех,кто в
танке:речьидетоФИДО)иавтораинформациияуженепомню.
Итак, приступим. И поможет нам в этом команда mkdir, она же - md.
Попробуйтеперейтивкорневойразделдискаивведитекоманду
mkdir...\
(лучшевсегодлянашихцелейпользоватьсяFAR-ом,потомучтопридется
периодическивводитькомандыизкоманднойстроки,атакженеобходимо
иметьфайловуюоболочку,чтобынаблюдатьвсенаэкране).
На первый взгляд команда выполнилась успешно, однако никаких
измененийвструктурекаталоговненаблюдается.Таксоздаласьпапкаили
нет?Чтобыузнатьобэтом,введитекоманду
dir
Видите в списке каталогов странную папку с именем ".." (без кавычек)
(Ctri+O чтобы выключить панели в FAR-e)? В корневом каталоге такой
директории быть не может, потому что она указывает на каталог выше
уровнем, а корневой каталог итак находится на самом верху структуры
каталогов(зайдитевлюбойкаталогивведитеdir-тамвыэтудиректорию
увидите, что вполне логично). В результате нашей манипуляции мы
получиликаталог,который,вродекакиесть,нозатоегоневидятникакие
файловые менеджеры, включая сам проводник (увидеть его могут только
программынапрямуюработающиесжесткимдиском,напримерDiskEdit).
ВотсейчаснамдлянаглядностиипонадобитсяFAR.Находясьвкорневом
каталогевведитекоманду
cd...\
Обратите внимание на скриншот: в правой панели у меня открыт каталог
"C:\..", а в левой нет никакого намека на его наличие. Простым
копированиемперенестивнегоничегонеудастся.Дляэтихцелейпридется
воспользоватьсякомандой
copypath\to\source_file\filename.extc:\...\filename.ext
Такимобразомможноперенестивсефайлы,которыевыхотитеспрятатьв
созданный нами каталог. Учтите, что при работе с ними есть некоторые
ограничения. Так, из этого каталога нельзя запускать программы, так как
операционнаясистемасчитаетчтотакогокаталогапростонесуществует,а
следовательно и запустить оттуда ничего нельзя. Чтобы достать файлы из
"невидимой"директориипридетсяопятьвоспользоватьсякомандойcopyи
скопировать их в любой видимый каталог. Удалить файлы оттуда тоже
нельзя.Дляэтогопридетсявоспользоватьсякомандой
rmdir...\/S
Ключ /S указывает, что надо удалить каталог со всеми вложенными
подкаталогамиифайлами.
Вот собственно и все, что может потребоваться при работе с файлами в
невидимом каталоге. А ведь внутри него можно создать произвольное
дерево каталогов (опять-таки только DOS-командами) и спрятать там что
угодно. Выдать вас может только несоответствие между полным объемом
диска, свободным объемом и занятым. Поэтому прятать так коллекцию
фильмов от профессионального взгляда все-таки бесполезно. А вот
маленькиеобъемыинформациизапростомогутостатьсянезамеченными.
Все описанное выше пройдет только в FAT32. NTFS, при попытке
созданиятакогокаталогавыдаст:"Синтаксическаяошибкавименифайла,
именипапкиилиметкетома".Ноитутнеобошлосьбезсвоих"приколов".
Так,команда
mkdir111..\
создасткаталогсименем"111."(имяможетбытьлюбое,главноепоставить
вконцедветочкиислеш).Всебыничего,давоттолькокаталогинемогут
заканчиваться на точку или пробел. Поэтому при попытке войти в него
системавыдастошибку.Приэтомработатьснимможноточнотакже,как
написановыше.АеслиещеэтоткаталогсоздатьнапримервWindows\temp,
товсегдаможнопопытатьсяотмазаться,что"системаглючная,насоздавала
непоймичего,самудалитьегонемогу".
Используя эту возможность можно неплохо подшутить над товарищем.
Создаетеобычныйтекстовыйфайлнанесколькогигабайтизоднихнулей,
запаковываете его в самораспаковывающийся архив (жмется он со
страшной силой и после упаковки запросто влезет на дискету), пишите
небольшой батничек, создающий невидимый каталог, копирующий с
дискетыархив,распаковывающийегоипереносящийвсозданныйкаталог.
Послеэтогонаблюдаетезаудивленнойминойтоварища-"Ачемэтоуменя
забит весь винт? Вчера же было свободно 30 гигов...". Незнающего
человекаспасеттолькоформатирование.
Вотсобственноивсе,чтояхотелрассказатьподанномувопросу.Думайте,
экспериментируйте.Будутвопросы-спрашивайте,лучшенафоруме:).
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
Сокрытиеинформации
ИдеяэтойстатьиичастьматериаловбылипредложеныВиталием
Невзоровым(http://www.nevzorov.net/).Онадолгодоходила"докондиции",
многоразоткладывалась,новсе-такибылазакончена.Конечно,охватить
всепростоневозможно,нонекотороенаправлениеуказать,ядумаю,
удалось...
Вопросызащитыинформациивсегдастоялипередчеловечествомочень
остро.Ведьинформация-этовластьиденьги.Поэтомулюдистремятся
заперетьценныеданныеподогромноеколичествонадежныхзамков,
зашифроватьеесамымикриптостойкимишифрами.Споявлением
компьютеровльвинаядолявсехданныхсталахранитьсяименнонаних.
Раньше,когдаЭВМбылибольшими,занималицелыеэтажиразличных
НИИилабораторийибылиуделомизбранных,всебылогораздопроще.Но
теперь,когдаперсональныекомпьютерыпоявилисьбуквальновкаждом
домеиниоднаорганизациянеможетбезнихобойтись,вопросызащиты
информациипринимаютпервоочередноезначение.Появилисьдаже
специальныеотделыислужбыпообеспечениюкомпьютерной
безопасности.Иневажно,чтовысобираетесьзащищать:технологию
изготовленияновейшегореактивногодвигателяотконкурентов,"черную"
кассуотналоговойилисвежескачаннуюизИнтернетапорнушкуот
младшегобратишкиилиродителей;)-принципызащитыодниитеже.
Вэтойстатьеянебудупытатьсярассматриватьвопросызапрещения
доступаккомпьютеру.Этоотдельнаяоченьсерьезнаяигромаднаятемадля
разговора,которойпосвященыцелыесайты.Даидалеконевсегдаесть
возможностьограничитьдоступпостороннихлицккомпьютеру.Рассказать
хотелосьбыонекоторыхприемах,позволяющихспрятатьинформацию
самымипростымиметодамитак,чтодалеконекаждый
квалифицированныйспециалистсможетеенайти.
Спервахотелосьбыразграничитьинформациюнанепосредственносами
данныеинаскрытыйзапускразличныхпрограмм.Ивпервуюочередь
хотелосьбыостановитьсяименнонаданных.
Вначаленадоосознать,чтосамаялучшаязащита,этокогдаищущийдаже
недогадываетсяотом,чточто-тоспрятано.Такчтофайлтипа"financial
documents.zip",будьондажеоченьхорошозащищенпаролями,можеттак
сильнозаинтересоватьопределенныйкругспециалистов,чтоегомогут
взломатьлибо,нанявспециалистов,либо,поговоривсВамитак,чтоВыи
самибыстровспомнитепароль.Такчтопослеархивированиядокумент
переименовываетсявочто-нибудьнейтральноетипа"nvidia","sound32",
"mem32","sys32","kbrd32"ит.п.,изменяетсярасширениенаdllи
переноситсявкаталогWindows\System.Вымногознаетепарней,которыес
точностьюмогутсказатьназначениекаждойdllвWindows\System?Датуда
кромеужсовсемнасистеметронутых(типаменя)никтонелазит!
Ксожалению,большинствоархиваторовпозволяютпросматриватьсписок
файловдажебеззнанияпароляархива(насколькоязнаю,толькоAINне
позволяетсмотретьсписокфайловбезпароля).Используйтедвойную
архивацию:архивируйтеспаролем,затемархиввновьархивируйтес
паролем-теперьниктонесможеттакпростопосмотретьсписокфайлов.
АрхиваторZIPвначалеархивавсегдаставит"PK"какпервыебайты,
нарядусизменениемименинаDLL,поменяйтеэтибайтына"MZ"-теперь
оченьредкиепрограммысмогутраспознатьэтотфайлкакархивдажепо
внутреннейструктуре(ксожалениюневсепрограммы!).
Поповодупрограммдлябухгалтерии-Выведетедвойнуюбухгалтерию?У
васестьпрограммадляэтогоионаподдерживаетее?Этогоявно
недостаточно!Ведь"там"сидятнедураки,свамимогут"поговорить"ивы
расскажитевсепронееидадитепароли/логиныдлявторойбухгалтерии...
Вамнадоиметьтройную!Втораябудетсодержатьлишьнебольшие,но
явные"ошибки",иестьбольшойшанс,что,найдявторуюбухгалтерию,
никтонебудетискатьдальше,даидавитьбудеткудасложнее...
Всеописанныевышеметодынетребуютспециальныхпрограмми
позволяютобойтисьтолькостандартнымиспособами.Еслиэтокажется
вамнедостаточнонадежным,томожнообратитьсякразличнымутилитам,
позволяющимшифроватьискрыватьданные,коихнемалонапросторах
всемирнойпаутины.
Сперваобратимсвойвзорнапрограммы,простошифрующиеданные.
Есливзятьлюбойфайлсархивом,азатемещезашифроватьлюбойизэтих
программ(ссылкинакоторыеядамниже),тофайлпревратитсяв
абсолютнонеудобоваримуюштуку,распознатьвкоторойкакие-тоданные
будетподсилуединицам(что,кстати,совершеннонефакт).При
шифрованииприменяютсяразличныеалгоритмы:одниболеестойкие,
другиеменее.Важенитог-распознатьвполучившемсяфайлесамфакт
сокрытияданныхпрактическиневозможно,особенновсочетаниис
комплекснымприменениемдругихсоветов.Воспользоватьсядляэтих
целейможноследующимипрограммами(втораяичетвертаяссылкиуменя
незаработали,номожетбытьвамповезетбольше):
Figa2.01w(478Kb)http://htmls.chat.ru/
Cryptextv3.3(175Kb)ftp://ftp.funet.fi/pub/cript/utilities/file/cryptext.zip
MaybeNextTime1.4(360Kb)http://www.seekwood.com/pub/mnt.zip
Mozart3.2(64Kb)http://fox.free-hosting.lt/
Следующаяпрограммадлялюдейособоозабоченныхвсокрытии
различнойинформации.НебольшаяутилитасназваниемS-Toolsпозволяет
присоединятькграфическимимузыкальнымфайламдругиефайлы.
Принципееработыоснованнавозможностидобавлятьдополнительную
информациюкнекоторымфайлам(GIF,BMP,WAV).Приэтомпроисходит
незначительноеизменениецветаилизвука,котороечеловеческийглазили
ухопростоневсостояниизаметить.Навзгляд,двекартинкиничемне
отличаютсяоднаотдругой,нореально,кодной"приклеен"небольшой
файликизаметитьэтонетникакойвозможности.Конечно,такимспособом
вамнеудастсязапихнутьвнебольшуюкартинкубазуданныхнапарусотен
мегабайт,нонебольшойархивчикспрятатьвполнереально.
ftp://ftp.kiae.su/pub/windows/crypto/s-tools4.zip
ftp://ftp.thur.de/pub/software/stegano/s-tools4.zip
Теперьхотелосьбырассмотретьвопросскрытогозапускапрограмм.
Нескольконебольшихпоучительныхизабавныхпримеровпоможетлучше
понять,зачемвообщеэтонужноикакэтоделается.
Нетакдавнокомнеобратилсяодинчеловексвопросом:какой-тосайт
посвященныйхалявеизаработкувсетипостоянноменялдомашнюю
страницувбраузеренасвою.Приятноговэтоммало,асталкиватьсясэтим
приходитсяпостоянно.Ядаженаписалнебольшуюстатьюоспособах
загрузкитаких"паразитов"(Еслипоселилсянезванныйгость...).Методы
маскировкитакихпрограммвсистеметамбылизатронутысовсем
немного,атутхотелосьбыостановитьсянаэтомподробнее.Таквот,найти
программу,меняющуюдомашнююстраницуемуникакнеудавалось.Когда
онвыслалмнеэкспортированныйкусочекреестрасразделомRun,первое
чтобросилосьвглаза-параметрwinlogon,запускающийwinlogon.jsиз
каталогашрифтовWindows.ВкаталогешрифтовникакихЯва-скриптов
бытьнеможет!Ноеслисмотретьнеоченьвнимательно,товполнеможно
пропуститьвродебысистемнуюпрограмму,запускаемуюизсистемного
каталога.Причем,вFONTSпользователизаглядываютгораздореже,чемв
System.Отсюдамораль-программы,пытающиесязапуститьсянезаметно,
стараютсямаскироватьсяподсистемныеприложения,поэтомуименнона
нихнадообращатьвниманиевпервуюочередьитщательноразбираться
чтоэтозапрограмма,откудаоназапускается,чтоделает.
Вотещеодинслучай:вбытностьработысвоейнаодномзаводенесколько
летназад,нашебюрополучилозаданиеотначальстваустановитьна
компьютерахпрограмму,логирующуювседействия,людейработающихза
ними.Начальствуоченьнехотелось,чтобыпрограммистыврабочеевремя
играливигрушкиизанималисьпостороннимиделами.Ононемогло
понять,чтоигры-неотъемлемаячастьработылюбогопрограммиста:).
ДляэтихцелейбыловзятапрограммаStatWin,котораяисамапосебе
довольнонеплохошифруетсявсистеме,авсочетаниисустановкойна
сетевомдиске,дазакапываниемавтозапускавсамыедебриреестра,
заметитьееаккуратнуюработубылооченьсложно.Ионатихо-мирно
проработаланесколькомесяцев,покадикаяслучайностьнепозволилаее
обнаружить(подвелаименноустановканасетевойдиск).Яскромно
умолчуоскандале,поднявшемсяпослеэтого,ноначальствобылоочень
опечаленопоследующимисобытиями:).Однако,любопытенсамфакттого,
чтодесяткипрограммистовнапротяжениинесколькихмесяцевне
замечалитотальнойслежки!Аэтодалеконеобычныепользователи,
которыхобманутьгораздолегче.
Авотслучайкакобманулименясамого(вместесовсембюро,гдея
работал).Одинумелецустановилнакомпьютерсдоступомкинтернет
программуHookDump,ведущуюлогипонажатиюклавиш(благоназаводе
царилполныйбардакивсекомунеленьимелидоступкэтому
компьютеру).Втечениеполугодаонспокойноузнавалвсепаролик
заводскомулогинувинтернетипользовалсяимбеззазрениясовести.
ПрограммабылаустановленавкаталогWindows,переименованавкакое-то
безобидноеимяизапускаласьприкаждойзагрузкекомпьютерачерез
Win.ini.Опять-таки,толькослучайностьпозволилазаметитьработу
программыипойматьнарушителя.
Ужепослетого,каквышларассылка,анонсирующаястатью,получил
письмосдополнительнойинформациейоспособе,позволяющем
незаметнодляпользователяправитьреестр.Спасибо,Mike!Это
лишнеесвидетельствотого,чтовыдумкачеловеческаяпросто
безграничнаиклюбомуделунадоподходитьтворчески:).
"Аделаетсяэтотак:вавтозагрузкепрописываетсястандартныйregedit,
аемувкачествепараметрапередаетсяфайлик,допустим,состартовой
страницеИЕ.Личноявпервыйразпосле3-хкратнойсменыстартовой
страницыминут10смотрелнасписокавтозагрузки,вкоторойостался
лишьтрэй,раскладкаклавыирегэдит,идумал:"Ктоже?"(Согласен
достаточно5секунд,ноинерциямышления).Способхороштем,чтосам
регэдитиверсияиконтрольнаясуммаипутьостаетсяродным,иянавсе
этопосмотрел,илишиьвовторуюочередьобратилвниманиеналевый
параметр."
Примерноаналогичнымиспособамидействуютивсетрояны,
клавиатурныешпионыианалогичныеимпрограммы.Онишифруютсяпод
обычныесистемныеприложения,запускаютсяизсистемныхпапок,умело
прячутвсе"хвосты".Такчтоесливамнадозапускатьнезаметнокакую-то
программу,топриведенныепримерывполнемогутнатолкнутьнакакие-то
идеи.Главноенебойтесьфантазировать,нуиглубокиезнания
функционированиясистемывовсенепокажутсялишними.
"Акаксэтимбороться?"-спроситевы.Тяжело.Надознать,какиеутилиты
запускаютсянавашемкомпьютере,какиесистемныепрограммыстартуют
прикаждойзагрузкеWindowsисподозрениемотноситьсяккаждому
неизвестномуприложению.ВоимяCtrl'a,Alt'aисвятогоDelete'a.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
КакустановитьWindows,илисделайэто
правильно...
Вкачестветемыдляэтойстатьиярешилвзятьвопроспоустановке
Windows.Казалосьбы,всездесьизвестноиужпоставитьВиндысможет
всякий,новопросневтом,чтобыихпоставить,автом,чтобысделатьэто
правильно.Даив,казалосьбы,давноизученномиотработанномпроцессе
могутвозникнутьсвоиподводныекамни.Остановитьсяярешилна
установкеWindows9x,т.к.W2000все-такибольшеиспользуютуже
"продвинутыепользователи"ибезмоихинструкцийонивполнеобойдутся,
вкрайнемслучае,провестианалогиюмеждуустановкамиэтих
операционныхсистемнесложно.
Начатьхотелосьбысначала:),аименно,сподготовкикустановке.При
обычнойпереустановкеWindowsпереформатироватьдискиненадо,так
чтодваследующихабзацаотносятсяксчастливымобладателямновых
дисков.ПрисбоеWindows,когдавыхотитеполностьюпереустановить
операционнуюсистему,достаточноудалитькаталогиWindows,Program
Files,RECYCLED(скрытый)ивсефайлыизкорневогокаталога(вам
понадобитсязагрузочнаядискета).Правда,приэтомвсеустановленные
программыпридетсяставитьзаново,но,иногда,простаяустановкаповерх
существующейсистемынедаетрезультатов,поэтомуприходитсячем-то
жертвовать.
Есливыприобрелиновенькийжесткийдиск,тоегонадопредварительно
разбитьналогическиедиски(ну,этозависитотвашегожелания)и
отформатироватьих.Дляэтогонеобходимоиметьзагрузочнуюдискету,
которуюможносоздатьнакомпьютересужеустановленнымWindows.Как
разбиватьдискналогическиезависитотегообъемаицелейиспользования
компьютера.Ябыпорекомендовалоставить2-3Гбдлясистемыи
служебныхпрограмм,одинлогическийдискподигрушки,дискпод
рабочиепрограммыиодиндискдлярезервногокопированияважных
данныхисофта.
Такжеможноизменитьструктуруужеоднаждысозданныхлогических
дисков,ноучтите,чтоеслиувасбылакакая-тоинформациянадисках,то
послепереразбивкииформатированияонапропадет,такчтоподумайте
лишнийраз,анадоливамэто?Итак,загружайтесьссозданнойвами
дискетыивводитекомандуfdisk.Включайтеподдержкубольшихдисков
(приразмереHDDбольше2Гб).ЕслинаHDDраньшебылилогические
дискииразделы,ноестьжеланиеразбитьихпо-другому,тонадосперва
удалитьвселогическиедиски,затемудалитьдополнительныйраздели
основнойраздел.Послеэтогонадосоздатьосновнойразделнужного
размера(этоувасбудетдискС:),всеоставшеесяместоотвестипод
дополнительныйраздел.Внемнадосоздатьлогическиедискинужного
размера.Послеокончанияработыfdisk'aнадоперезагрузитькомпьютер.
ИногдабываетнадоустановитьметкудлядискаC:\.Сделатьэтоможнокак
наэтаперазбивкидискаспомощьюfdisk,такивовремяформатирования.
Следующийэтап-форматированиедисков.Дляэтоговводитекоманду
"formatc:/s"(/s-системный,т.е.надискбудутперенесеныфайлыio.sys,
msdos.sys,command.com),"formatd:"ит.д.Наэтомподготовительныйэтап
можносчитатьзаконченным,теперьможнозапускатьнепосредственно
установкуWindows.
Наэтомэтапеособыхсложностейвозникнутьнедолжно,т.к.установка
проходитпочтиполностьюавтоматически,нонесколькохитростейвсеже
есть.Установкувыбирайтевыборочную(масломасляное:)).Отключайте
специальныевозможностивобязательномпорядке(конечно,еслиуваснет
нарушенийдвигательногоаппарата,органовслухаилизрения).Вообще,
посмотритекакиепрограммыикомпонентыустанавливаются,иуберите
лишнее.Небойтесьубратьчто-тонужное,добавитьэтоможновлюбой
момент.Так,ялюблюсноситьвсе,связанноесинтернет,экранныезаставки
икое-чтоеще.Дальнейшийпроцессустановкив95%пройдетгладко,но
иногдабываютсбои.Еслипроцессустановкизастопорилсянаэтапе
копированияфайлов,то,возможно,чтоуваспроблемыскомпашкой.
Попробуйтепереписатьдистрибутивнажесткийдискизапустить
инсталляциюоттуда(еслиувасмногосвободногоместа,торекомендуется
этосделатьвлюбомслучае:иинсталляциябудетидтибыстрееипри
добавлениикаких-токомпонентовилидрайверовненадобудетвставлять
дисксWindows).
Ещевозможенсбойпринастройкеоборудования:процессустановкиможет
простоостановиться(зависнуть),начатьсяперезагрузкакомпьютера.Как
правило,источникомегоможетстатьстараязвуковаяилисетеваякарта,
какое-тонестандартноеоборудование.Еслиувастакоепроизошло,
отключитенавремяустановкипотенциальноопасноеоборудование,выего
установитепослетого,какWindowsначнетнормальноработать.Еслииэто
непомогает,тогдаотключитевсекромевидео,жесткогодискаи
клавиатурысмышкой(еслиустанавливаетесCD-ROMa,тоеготоже
желательнооставить:)).
Такжемогутбытьпроблемы,еслиувасвБИОСестоитзащитаотвирусов
(viruswarning).Отключайтееевлюбомслучае-всеравноотнеенет
никакойпользы.
Итак,установкапрошлауспешно,Windowsзагрузилсяпервыйраз...Все?
Нет!Пришлапораудалитьвселишнееинастроитьоптимальнымобразом.
Первое,чтояделаю-этоустанавливаювсвойствах"Корзины"пункт
"Уничтожатьфайлысразупослеудаления,непомещаяихвкорзину".
Оченьдисциплинирует:).Затоненадопостоянноочищатькорзину.Даиза
нескольколетработыявсегопаруразпожалелосодеянном:).Конечно,это
яделаютолькодома.Наработетакиевещивключатьнельзя,потомучто
работа-естьработа.
Затем,можноудалитьлишниефайлы(ноэтоужевамрешать,лишниели
онидлявас).УдалитевкаталогеWindowsфайлы*.txt,*.bmp,*.old,*.log,
*.bak.Файлыbmpсодержатфоновыерисункирабочегостола,нолучшеуж
скачатьизсетиинтереснуюкартинкуипоставитьее,чемпользоваться
этимбезобразием.Аналогичноможнопоступитьсфайламискринсэйверов
*.scr,лежащихвкаталогеWindows\system.Навсякийслучайоставьте
"Пустойэкран.scr",т.к.этосамыйлучшийхранительэкрана:).Скажите,а
выпользуетесьсправкойWindows?Нуикак,помогает?Долойее:стираете
каталогhelp,высвободивтакимобразомнескольколишнихмегабайт.
Неплохобыубратьсрабочегостолалишниеярлыки(типа"Мои
документы"),чтобынезагромождатьместо.
Осталосьнемногопоковырятьсявреестреиустановкуможносчитать
законченной.Так,например,мнежутконенравится,чтокто-нибудьможет
посмотретьсписокнедавнооткрытыхмноюдокументов.Пункт
"Избранное"вменю"Пуск"тожеявнолишний,лучшеоткрыватьсайтыиз
окнабраузера.ДаистандартнымпоискомWindowsянепользуюсь,ноесли
оченьзахочется,егоможновызвать,нажавWin+F.Такимобразом,надо
убратьпункты"Документы","Избранное"и"Поиск"изменю"Пуск".Как
этосделать,ужебылоописановоднойизстатей(Настройкаменюкнопки
"Пуск").Дублироватьинформациюнехочется,такчтокомуинтересно,
заглянитепоссылке.
Ну,вотсобственноивсе.Теперьможноприступатькустановкеостальных
программ.Авзаключениехотелосьбыпривестиссылкинанесколько
статейэтогораздела,которыемогутнатолкнутьвасещенакакие-тоидеи
понастройке:
-ограничениезапускапрограмм;
-настройкаменюкнопки"Пуск";
-ограничениедоступакнастройкамWindows.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
ГдеикакWindowsхранитинформациюоActive
Desktop
Автор:TarasovCostja
ЕсливключенActiveDesktop,тоWindowsотображаетвкачестверабочего
столаHTML-страницу.Гдежеонахранитсяикакимобразомонапозволяет
показыватьтакиеспецифическиеобъекты,каквеб-содержимое?
Этастраница(покрайнеймере,вWindowsMe)хранитсяпоадресу
%appdata%\Microsoft\InternetExplorer\Desktop.htt(где%appdata%-путьк
папкеApplicationDataнаВашемкомпьютере).Замечу,чтовтойжепапке
находитсяфайлpattern.bmp,хранящийузоробычногорабочегостола.
Вотособенностиэтогофайла:
ВблокеHEADприсутствуеттэг<BASEHREF="путь">,гдепуть-путьк
файлу,использующемусявкачествефона.
Длякаждогоэлементавеб-содержимогоестьтакоеопределение:
<IFRAMEid=4MARGINWIDTH=0MARGINHEIGHT=0name="DeskMovrW"src="URL"
resizeable="XY"
subscribed_url="путь"
frameborder=0style="BACKGROUND:transparent;position:absolute;LEFT:8;TOP:15
WIDTH:326;HEIGHT:224;Z-INDEX:1008"></IFRAME>
ПояснюURL-URLкотображаемомуэлементу;путь-путьк
отображаемомуэлементу;frameborder-толщинарамки;resizeableопределяетвозможностиизмененияразмеровэлемента;style-CSSсвойствафрейма;id-равениндексуобъектавспискеэлементоввебсодержимого.
Далееидеттакое:
<OBJECT
classid="clsid:72267F6A-A6F9-11D0-BC94-00C04FB67863"
id=ActiveDesktopMover
STYLE="position:absolute;container:positioned;LEFT:0;TOP:0;WIDTH:0;HEIGH
>
<paramname="Interval"value=500>
<paramname="SizerID"value="ActiveDesktopMover">
<paramname="Enabled"value="True">
<paramname="TargetName"value="DeskMovr">
<paramname="WindowOnly"value="False">
</OBJECT>
<OBJECT
classid="clsid:72267F6A-A6F9-11D0-BC94-00C04FB67863"
id=ActiveDesktopMoverW
STYLE="position:absolute;container:positioned;LEFT:0;TOP:0;WIDTH:0;H
>
<paramname="Interval"value=500>
<paramname="SizerID"value="ActiveDesktopMoverW">
<paramname="Enabled"value="True">
<paramname="TargetName"value="DeskMovrW">
<paramname="WindowOnly"value="True">
</OBJECT>
ЭтовставкаинастройкаActiveXобъекта,обеспечивающегоперемещение
элементоввеб-содержимого.
Примечание:
Wвконцеимениозначает,чтоэтоUnicodeверсия.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
ИспользуемActiveDesktop
Автор:TarasovCostja
ПользуетесьлиВытакойвозможностьюРабочегостола-какActive
Desktop?Скореевсегонет,адажееслионивключен,тотолькодлятого,
чтобывыводитьвкачествеобоеврисуноквформатеотличномотbmp.
ЕслинаВашемрабочемстолетакмногозначков,чтоновыеужене
помещаются,тоВыможетеиспользоватьвкачествефонасвоегорабочего
столаWeb-страницуинструкции,посозданиюкоторойданыниже,тем
самымзагрузивработойActiveDesktopпополнойпрограмме.Этоне
толькопозволитсделатьработузакомпьютеромболеекомфортной,нои
добавитбольшеинтерактивностиРабочемустолу,атакжедасттолчок
Вашейфантазиивдальнейшемразвитииэтойтемы.
Итак,начнем:
1.ЗапуститеВашлюбимыйтекстовыйредактор.
2.Создайтеновыйдокумент.
3.Вставьтевнегоприведенныйнижекод.
<HTML>
<HEAD>
<METANAME="GENERATOR"Content="MicrosoftVisualStudio6.0">
<METANAME="AUTHOR"Content="TarasovCostja">
<TITLE>WebDesk</TITLE>
<SCRIPTID=clientEventHandlersVBSLANGUAGE=vbscript>
<!-DimIid
Subbd_onload
Iid=setInterval("bd_onclick",interval)
bd_onclick
EndSub
Subbd_onhelp
Dimhs,NL,x
NL=Chr(13)&Chr(10)
hs="QuickDesktopv1.1"&NL
hs=hs&Chr(9)&"Author:TarasovCostja"
hs=hs&Chr(9)&"Clickmetochangemybackground."
x=MsgBox(hs,0,"AboutQuickDesktop")
EndSub
Subbd_onunload
clearIntervalIid
EndSub
Subbd_onclick
Randomize
ConstPicPath="file://path\"
ConstPicLast=LastIndex
ReDimPP(PicLast)
PP(0)="picture0"
PP(1)="picture1"
PP(Index)="pictureN"
...
p=fix(rnd*PicLast*5)
bd.background=PicPath+PP(pmod(PicLast+1))
'bd.tracingsrc=PicPath+PP(pmod(PicLast+1))
EndSub
-->
</SCRIPT>
</HEAD>
<BODYid="bd"onclick="bd_onclick"onload="bd_onload"
onunload="bd_onunload"text="white"bgProperties=fixedleftMargin=0
topMargin=0rightMargin=0bottomMargin=0vLink=fuchsiaaLink=yellow
link=limetracingsrc="file://DefaultBGpath"tracingopacity="50">
<TABLE>
<TR>
<TDwidth=175height=200>
<Ahref="PathSys"target=BROWSE>Системные</A><BR>
<Ahref="PathUtil"target=BROWSE>Программы</A><BR>
<Ahref="PathGames"target=BROWSE>Игры</A><BR>
</TD>
<TDwidth=600><IFRAMENAME="BROWSE"SRC="PathSys"height=200
width=615allowTransparency>
Ксожалениювашобозревательнеподдерживаетплавающие
рамки.</IFRAME>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>
4.Создайтепапки"Системные","Программы"и"Игры",азатем
перенеситевнихсоответствующиеярлыкисрабочегостола.
5.ЗаменитенижеперечисленныевыделенныевкодеслованужнымиВам
значениями:
interval-наинтервалсменыобоеврабочегостолавмиллисекундах(1
секунда=1000миллисекунд)
path-напутькобоямрабочегостола
LastIndex-наколичествоиспользуемыхобоевМИНУСодин
Picture0,Picture1,PictureN-наимяфайла(срасширением)обоевдля
рабочегостола
Index-наиндексобоев
...-настрокивидаPP(индекс_обоев)=
"имя_файла_обоев_(с_расширением)"
DefaultBGpath-напутькобоямпоумолчанию
PathSys-напутькпапкераздела"системные"
PathUtil-напутькпапкераздела"программы"
PathGames-напутькпапкераздела"игры"
5.Сохранитефайлподлюбымименем,нообязательносрасширением.htm.
6.Щелкнитеправойкнопкойпопустомупространствурабочегостола.
7.Впоявившемсяконтекстномменювыберитепункт"Свойства".
8.Перейдитенавкладку"Веб"иубедитесь,чтоустановленфлажок
"Отображатьвеб-содержимоенарабочемстоле".
9.Перейдитенавкладку"Фон"ищелкнитепокнопке"Обзор".
10.Выберитесохраненныйвпункте5файлинажмитекнопку"Открыть".
11.Нажмитекнопку"Ok"вокне"Свойства:Экран".
12.Щелкнитеправойкнопкойпопустомупространствурабочегостола.
13.Впоявившемсяконтекстномменюснимитегалочку"Отображать
значкирабочегостола".
Панельинструментов,созданнаяизпапкисодержащейпапкиразделов,
можетзаменитьпанельинструментов"Рабочийстол"
ЕслиВыхотитехранитьтакиеобоивтойжепапке,чтоипапкиразделов,
тофайлобоевдолженбытьскрытым.Этопредотвратитпоявлениефайла
обоеввменюпанелиинструментов.
Дляудобствадобавленияярлыковвсозданныенамипапкиможносоздать
ярлыкинапапкиразделоввпапкеSendTo.
Комментарийотведущегораздела:никтонемешаетВамразнообразить
этустраницуразличнымискриптами.Такнапримеряделалдоступк
различнымпрограммамспомощьюменювверхуэкрана,добавлял
календарь,часы,напоминалкуидругиеукрашательства.Благо,различных
скриптовнапросторахинтернетпростомореивсеограничивается
исключительноВашейфантазиейижеланиемэтимзаниматься.Такчтоне
держитеприведенныйвышешаблонстраницызадогматверы,аактивно
меняйтеее,настраивайтеподсебя,иуВасполучитсяоченьудобныйи
функциональныйРабочийстол.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
REGEDIT4<br/>
[HKEY_CLASSES_ROOT\*\shell\arj]
@="АрхивироватьARJ"<br/>
[HKEY_CLASSES_ROOT\*\shell\arj\command]
@="arjaarc%1"<br/><br/>
Чтолюбопытно:еслифайлнезарегистрированноготипа,тоэтодействие
будетиспользоватьсядлянегопоумолчанию.Т.е.выможетещелкнутьпо
немудваждымышкой,ифайлбудетавтоматическизаархивирован.Для
зарегистрированныхфайловэтотпунктнадовыбиратьизконтекстного
меню.Такимобразомможносделатьоткрытиенезарегистрированных
файловвблокноте,достаточноввестивпараметр"Поумолчанию"раздела
commandстроку"notepad.exe%1".Теперьподаблкликутакиефайлыбудут
автоматическиоткрыватьсявблокноте!
Акакжебытьскаталогами?Ихмытоженеобойдемстороной.Ищитев
HKEY_CLASSES_ROOTразделFolder.Последовательностьдействийдля
негоаналогичнаописанномувыше.Только,лучшеесливыиспользуете
команду"arjaarc%1-r"чтобыархивировалосьссохранениемдерева
вложенныхкаталогов.
Теперьвысможетемодифицироватьэтоменюподсебятак,каквамбудет
удобно.Правда,естьинекоторыеограничения:высможетедобавлять
пунктытольковпервыйблокменю(ониразделяютсягоризонтальной
линией).Добавлениевдругиеблокивидимо,возможно,нокакэтосделать
яненашел.Деловтом,чтоувнешнихпрограмм,добавляющихтудапункт
меню,используетсявкачествепараметра"Поумолчанию"кодCLSIDдля
модуляActiveX.Этипунктыдобавляютсявподразделshellex.Можете
попробоватьтампокопаться,главноенезабудьтепредохраня...эээ,
сохраняться!Аеслиувасчто-тополучится,напишитемне,яобязательно
доработаюстатью.
:).
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
Настройкаменюкнопки"Пуск"
Всемы,работаянакомпьютере,постояннопользуемсяменю,
появляющемсяпринажатиинакнопку"Пуск".Еговидсталпривычендля
всехпользователей.Новотвопрос:удобнолиэтоменю?Намойвзгляд,не
очень.Адлянекоторых(кихчислубезсомненияможноприписатьвсех
системныхадминистраторов)хотелосьбыскрытьнекоторыепунктыменю
отобычныхпользователей,чтобынебылособлазналазить,гдененадо:).
Ичтожеделатьвтакойситуации?Какжеподогнатьэтоменюподсвои
нужды?Итак,внемлите:),пораперекроитьэтоменюпосвоемувкусу.
Якак-тосразуневзлюбилстандартныйпоискфайлов(предпочитаюдля
этихцелейпользоватьсяFAR-ом),аеслиэтотпунктменюмнененужен,
такзачемонбудетмозолитьглазаизаниматьместо?Надоегоотключить.
Открываемреестривразделе
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
прописываемключNoFindтипаDWORD.Установитеегозначениеравным
0х00000001,ипослеперезагрузкикомпьютерапунктменю"Найти"
исчезнет.Длятогочтобыонопятьпоявилсянадолибоустановитьзначение
этогоключаравным0х00000000илиполностьюудалитьключ.
Пункт"Документы"тожеизрядномешает,апотом,янелюблю,когдавсе
комуниленьмогутпосмотретьпоследниедокументы,скоторымия
работал(особенноначальство).Долойего!Открываем
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explor
ипишемтудаключNoRecentDocsMenuтипаDWORDсозначением
0х00000001.Аналогичнопредыдущемупункту,установказначенияв0или
удалениеключаприведеткпоявлениюэтогопунктаприследующей
перезагрузке.Чтобыочищатьсписокнедавнооткрытыхдокументов
каждыйразпривыключениикомпьютера,добавьтеключ
ClearRecentDocsOnExitсозначением0х00000001.АеслиВыхотите,чтобы
открываемыеВамидокументынезапоминалисьвэтомсписке,надо
добавитьключNoRecentDocsHistoryсозначением0х0000001.
Ещеодин,намойвзгляд,бесполезныйпунктменю-"Избранное".
Открываемвсетотжераздел
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explor
идобавляемключNoFavoritesMenuсозначением0х00000001.После
перезагрузки"Избранное"пропадаетизменю.
Следующиерекомендациипозволятмудрому(итакиебывают:)админу
обезопаситьсистемуотнеумелыхдействийглупыхилюбопытныхюзеров.
Использоватьэтирекомендациинадомашнемкомпьютереможеттолько
мазохистиличеловек,вовсемлюбящийтрудности.
Скрытиепунктовподменюизменю"Настройка".Открываемуже
запомнившийсяразделреестраидобавляемключNoSetFolders,чтобы
скрытьпункты"Панельуправления"и"Принтеры".Установкаэтогоключа
такжеудалитэтипапкиизокна"Мойкомпьютер".КлючNoSetTaskbar
скроетпункт"ПанельзадачименюПуск"изменю"Настройка".Ключ
NoSetActiveDesktopскроетпункт"РабочийстолActiveDesktop",аключ
NoFolderOptionsскроет"Свойствапапки"меню"Настройка".КакВыуже
поняли,всеэтиключидолжныиметьзначение0х00000001.
Перейдемкпункту"Выполнить".Чтобыубратьегоизменюдостаточно
прописатьвреестреключNoRunсозначением0х00000001ипосле
перезагрузкипунктменюпропадет.
ЕслиВыработаетенакомпьютереодин,тоВамявноникчемупунктменю
"Завершениесеанса".Кегоудалениюприводитзаписьвреестреключа
NoLogOffтипаDWORD.Целесообразностьиспользованияследующего
ключавызываетсомнения,нодляполнотыобзораегонельзянеучесть:
ключNoCloseзапрещаетвыключениекомпьютера.Причемнипунктменю
"Завершениеработы"нианалогичнаякнопкавокне,появляющемсяпо
Ctrl+Alt+Delнесработают.Правдаэтоотноситсятолькокстандартным
средствамWindows.Специальныепрограммыилиутилиты(например,
QuickStartилиShutDown)по-прежнемумогутвыключатькомпьютер.
Запретитьконтекстныеменювменю"Пуск"можноприпомощиключа
NoChangeStartMenu,азапретитьконтекстноеменюдляпанелизадачможно
ключомNoTrayContextMenu.
Пожалуй,вэтотразделможноотнестизапрещениеиспользованиясеансов
MS-DOSиоднозадачногорежимаMS-DOS.Дляэтогонадооткрытьраздел
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\WinOl
(еслиегонет,тонадоэтотразделсоздать)идобавитьтудаключDisabled
равный0х00000001.Установкаегов0илиудалениеопятьразрешитсеансы
MS-DOS.
ЕслиВыобратиливнимание,всеописанныенастройкипроводятсявветви
HKEY_CURRENT_USER.ЕслиВычиталистатьюоструктуререестра,то
должнызнать,чтовсенастройкивэтойветвибудутвступатьвдействие
толькодлятекущегопользователя.Тоесть,еслинакомпьютереработает
несколькочеловекподразнымилогинами,товсенастройкибудут
справедливытолькодляпользователя,вводящегоих.Уостальныхвсе
останетсяпо-старому.
Хватитскрыватьиудалять,поравыводитьидобавлять:).Приведенная
нижеинформациянесовсемотноситсякреестру,ноонаотноситсякменю
"Пуск"ипозволяетсделатьработуболееудобной.
ДавайтедобавимПанельуправлениявменюПуск,причемвсезначкивней
превратятсявпунктыподменю.Этопоможетоблегчитьиускоритьдоступ
кэтимэлементам.ДляэтогонадозайтивнастройкуПанелизадачименю
"Пуск",перейтинавкладку"Настройкаменю"ивыбратькнопку
"Дополнительно".Вправойчастиоткрывшегосяокнанадосоздатьпапку
Панельуправления.{21EC2020-3AEA-1069-A2DD-08002B30309D}где
значениедоточки-имяпапки,апослеточки-еерасширение(фигурные
скобкинужныобязательно!).Аналогичноможнодобавитьподменю
принтеры,добавивпапкуПринтеры.{2227A280-3AEA-1069-A2DE08002B30309D}.Вообщеговоря,этипапкиможнодобавитьвлюбой
каталогнажесткомдиске,новменюПусконинаиболееудобныилогичны.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
Добавлениеновогопунктавменю"Создать"
Сиделятутнедавно,ваялнесколькостраничекдлясайта.Надобыло
создаватьвсефайлы"снуля",такчтометодпростогокопированияи
редактированиянепроходил.ОбычнояработаювFARe,новэтотраз
пришлосьиспользоватькомпьютер,гдеегонебыло,исоздаватьвсефайлы
вблокноте.Ужбольнонеудобноеэтодело-создаватькучуизначально
однотипныхфайловпостояннозаново,ивспомниляпровозможность
созданияфайловсредствамиWindows.Обращалиливывниманиенапункт
контекстногоменю"Создать",котороепоявляется,еслищелкнутьна
Рабочемстолеилисвободномместеоткрытойпапки?Ну,конечноже,
обращали,ведьименнотаквысоздаетеновыекаталогииярлыкик
программам.Авотсоздаваливычто-нибудьеще(ведьтамвесьма
впечатляющийсписок)?Сомневаюсь.Аеслиисоздавали,товесьмаредко.
А,темнеменее,этооченьудобнаяфункция.Жальтолько,чтотамнеттех
файлов,которыенаммогутпригодиться.Таквчемпроблема?Добавим
самитепунктыменюдляфайлов,которыенамнужны.
Итак,всеначалосьсhtml-файлов,даинемалаячастьаудиторииэтогосайта
люди,такилииначесвязанныесвеб-дизайном,поэтомусозданиенового
пунктаменюяпокажунапримереименноэтихфайлов.
Ноначнеммынесреестра(хотяибезнегонеобойдется),аскаталога
Windows(ну,илигдетамонувасустановлен)...Надонайтитамкаталог
ShellNew.Учтите,чтоонскрытый.Именновнемхранятсязаготовкидля
файлов,которыесоздаютсяспомощьюконтекстногоменю.Еслиувас
установленMicrosoftOffice,товыувидитевэтомкаталогефайлызаготовкидляWordиExcel,икакие-тоещефайлы.Носейчасонинасне
интересуют.Создайтевнемфайл,напримерindex.html.Воспользоваться
дляэтихцелейлучшевсегоFARом(яоченьлюблюэтотфайловый
менеджер,поэтомуивсяческистараюсьпропагандироватьеговнародных
массах).Внутринегонапишитезаготовкувашейстранички.Личноя
написалследующее:
<html>
<head>
<title></title>
</head>
<body>
</body>
</head>
хотя,выможетедобавитьсюдачто-тоещеповашемувкусу(например,
тэгиmeta,какое-тооформлениевbody).
Сохраняйтефайл.Теперьнасталаочередьреестра(какжебезнего:)).Если
выпомните,товстатьеРегистрациярасширенийфайловспомощью
реестраWindowsбылописанспособэтойсамойрегистрации.
Приведенныйтамматериалбудетнебесполезендляпониманиясущности
производимыхманипуляций,хотяможнообойтисьибезнего.Итак,ищем
разделHKEY_CLASSES_ROOT\.htmиHKEY_CLASSES_ROOT\.htmlив
нихсоздаемразделыShellNew.ВразделеShellNewсоздаемстроковый
параметрFileNameвкачествезначениякоторогонадоуказатьимя
созданногонамишаблона.Вотсобственноивсе.Осталосьтолько
перезагрузитькомпьютерилюбоватьсяновымпунктомменю.
Кстати,файлбудетсоздаватьсяизначальностемименем,котороеуказанов
параметре"Поумолчанию"разделаHKEY_CLASSES_ROOT\htmlfile
(какойэтобудетразделдлядругихрасширенийможноувидетьвпараметре
"Поумолчанию"разделаHKEY_CLASSES_ROOT\.XXX,гдеХХХрасширениефайла).
Вообще-то,"все"ясказалрановато.Ведьвовсенеобязательносоздавать
шаблонфайла.Онможетбытьипустым,нотогдавместопараметра
FileNameнадосоздатьпустойстроковыйпараметрNullFile.
Акакбыть,еслиразделаснужнымвамрасширениемнетв
HKEY_CLASSES_ROOT?Воттут-товамипригодитсяссылочканастатью,
приведеннаявыше.СпервавырегистрируетеэторасширениевWindows,а
затемужепроделываетевсенехитрыеманипуляции,описанныевэтой
статье.
Ну,какудалитьпунктменюиз"Создать",ядумаю,объяснятьнестоит.Все
довольнопростоиразобратьсянесоставиттруда.
Воттеперьточновсе.Напоследокскажу,что,потративминутпятнадцать,
выможетесэкономитьгораздобольшевременивбудущем,ведьтакможно
создаватьнетолькоhtml-файлы,ноилюбыедругие.Ктомешаетсоздать
несколькошаблоновчастоиспользуемыхдокументоввашейорганизации,а
потомтольковыбиратьнужныеизменю.Такчтовсезависиттолькоот
вашейфантазии,аяуверен,чтоонаувасбогатая:).
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
Сменанадписинакнопке"Пуск"("Start")
Статьявзятанасайтеhttp://www.regedit.com/(ChangetheStartButtonText)
ПеревелВладимирМельникvmelnick@psi.kiev.ua
ВходекаждодневнойработысWindowsоднимизсамыхчасто
используемыхэлементовбезсомненияявляетсякнопка"Пуск"("Start").
Онаежедневномозолитнамглаза,надоедаясвоимпостоянством.Ия
уверен,чтохотьразквамприходиламысль:"Какбытебяизменить!".К
сожалению,сменатекстаирисунканакнопкенепредусмотреныв
операционнойсистемеимиллионампользователейприходитсяработатьс
тем,чтожесткозаложенопрограммистамиМайкрософта.Стаким
положениемвещейнадобороться!Существуютпрограммы,позволяющие
поменятьэтунадписьирисунок(однойизнаиболееизвестныхиудобных,
намойвзгляд,являетсяРесторатор).НозачемкачатьизИнтернеталишние
мегабайты,есливсеизмененияможнолегкосделатьвручную.Итак,в
статьеречьпойдетотом,какзаменитьнадписьнакнопке.Можновводить
любуюнадписьдо5символовдлинной.
ДляначалавампонадобитсяHEXредактор,любойиздоступных(напр.
FAR).Файл,вкоторомбудутпроизводитьсяизменения,называется
explorer.exe.ОннаходитсявпапкеC:\WindowsдляWindows9xиС:\Winnt
дляWindows2000/NT.Навсякийслучай(обязательно!)сделайтерезервную
копиюэтогофайла.Откройтеexplorer.exeвHEXредакторе.
Вамнужнонайтислово"Start"("Пуск").Хотявытамувидитеэтослово
многораз,толькоодноизнихотвечаетзанадписьнакнопке.
ВоспользуйтесьфункциейПоиск,чтобынайтистроки,содержащиеStartс
соответствующими530074006100720074.Такжеиспользуйтезначения
offset,чтобынайтивернуюстроку:
Windows98
Offset:0x00028D6E-0x00028D76
WindowsNT4
Offset:0x00028BEE-0x00028BF6
WindowsME
Offset:0x00033DDE-0x00033DE6
Windows2000
Offset:0x0003860E-0x00038616
Врезультатевыувидитенечтоподобное:
Когдавыопределилистроку,выможетеизменитьStartнадругиесимволы.
Необходимоиспользоватьсоответствующеечислосимволов.Еслиих
меньше,заменитенедостающиепробелами.
СохранитефайлвWindowsдиректорииподдругимименем,напр.
Explorer.new.Убедитесь,чтоувассохраниласьоригинальнаякопия
(желательновдругойпапке).
Следующийшагзависитотвашейоперационнойсистемы:
Windows9x
ЗагрузитесьвDOS(ДляWindowsMeиспользуйтезагрузочнуюдискету),
зайдитевдиректориюWindowsипереименуйтеотредактированныйфайлв
explorer.exe.Перезагрузитекомпьютер.
WindowsNT/2000
Сначалапонадобитсяотключитьзащитуфайлов,чтобыизмененныефайлы
неперезаписывалисьсверхуоригинальнымиверсиями.Закройтевсе
приложенияиоткройтеокноскоманднойстрокой,перейдитеобратнов
графическуюоболочкуиоткройтеTaskManager.Найдитеexplorer.exeи
завершитепроцесс.Затемобратновкоманднуюстрокуиоткройте
директориюWINNTипереименуйтеexplorer.exeвexplorer.old.Авновь
отредактированныйфайлсделайтеTaskManager.ВвашемTaskManager
запуститеНовуюЗадачуexplorer.exe.
Есливсесделалиправильно,выувидитевашукнопкусновойнадписью.
Каквидите,вседовольнопросто.Теперьможноменятьнадписьнакнопке
хотькаждыйденьибезприменениявсякихвспомогательныхпрограмм.Ну,
аеслипоявилосьжеланиеизменитьирисунок,воспользуйтесь
Ресторатором.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
ИзменениеразличныхустановокРабочегостолаи
оболочки
Внаписанииэтойстатьимнеоченьпомоглакрайне
полезнаякнига:Г.Борн"РеестрWindows98:Пер.сангл."СПб.:BHV-Санкт-Петербург,2000.Настоятельнорекомендуюее
почитать:).
Апойдетречьвэтойстатьеонастройкахразличных
установокРабочегостолаиоболочкиWinsows.Частьэтих
настроекможноизменитьизразличныхдиалогов(например,"Свойства:
Экран"),но,"этоненашиметоды":),ручками
изменятьвсегораздоинтереснее,даи,влюбомслучае,знать,гдехранятся
этинастройки,будетнелишним.
Иначнем,пожалуй,сразмеровэлементовэкранавWindows
(иконки,шрифты,рамки,меню,полосыпрокрутки).
Соответствующиепараметрыхранятсявразделе
HKEY_CURRENT_USER\ControlPanel\desktop\WindowMetricsреестра.
Втаблицеприведенынекоторыепараметры,содержащиесявэтом
разделе.
Имяпараметра
Описание
BorderWidth
Ширинарамкиокна
CaptionFont
CaptionHeight
CaptionWidth
IconFont
IconSpacing
IconSpacingFactor
IconVerticalSpacing
Шрифтзаголовка
Высоташрифтазаголовка
Шириназаголовка
Шрифтназванияиконки
Горизонтальныйинтервалмежду
иконками
Фактор,используемыйдлявычисления
положенияиконок
Вертикальныйинтервалмежду
значками
Параметрышрифта(гарнитура,имя
шрифта,ит.д.),
MenuFont
используемоговстрокахменю
MenuHeight
Высотаячейкисимвола,используемого
встрокеменю
MenuWidth
Ширинаячейкисимвола,
используемоговстрокеменю
MessageFont
ScrollHeight
ScrollWidth
Шрифт,используемыйвсообщениях
Высотагоризонтальнойполосы
прокрутки
Ширинавертикальнойполосы
прокрутки
Числоцветов(битовнаточку),
используемыхдля
ShellIconBPP
иконок
РазмериконокнаРабочемстоле(ив
проводникев
ShellIconSize
режиме"Крупныезначки")
SmCaptionFont
SmCaptionHeight
SmCaptionWidth
StatusFont
Шрифтвмаленькихзаголовках
Высотаячейкисимволавмаленьком
заголовке
Ширинаячейкисимволавмаленьком
заголовке
Шрифт,используемыйвпанели
состоянияокна
Каждыйключ,содержащийданныедляшрифта,состоитиз
последовательностибайтов,соответствующихименишрифтаи
несколькимфлагам,определяющимтипшрифта,типыначертания
(полужирный,курсив)ит.д.Этипараметрыможноизменятьна
вкладке"Оформление"диалога"Свойства:Экран",чтогораздо
удобнее,хотя,комукакбольшенравится:).
Навкладке"Эффекты"этогожедиалогавыможетенастроить
параметрыотображениянекоторыхграфическихэлементов
операционнойсистемы.Ихустановкаповлияетследующим
образом:
Использоватькрупныезначкиприводиткотображению
всехзначковрабочегостоларазмером48х48точек.Приэтомв
ключShellIconSizeзаписываетсязначение48,иизменяются
значенияпараметров,отвечающихзарасположение
значков.
Отображатьполноцветныезначкиизменяет
параметрреестраShellIconBPP.Еслифлажокустановлен,тоключ
содержитчислоиспользуемыхцветоввстроке("4"для16
цветов,"16"для16-битили"24"дляtruecolor-значение
зависитоттекущегоцветовогоразрешенияграфического
адаптера).Сбросэтогофлажкаустанавливаетзначение
"4".
Использоватьвидеоэффектыпривыводеменю,окони
списковустанавливаетилисбрасываетбит1параметра
UserPreferenceMaskвразделеHKEY_CURRENT_USER\Control
Panel\desktop(подробнееобэтомбудетводнойизследующих
статей).
Сглаживатьнеровностиэкранныхшрифтов
изменяетзначениепараметраFontSmoothingвразделе
HKEY_CURRENT_USER\ControlPanel\desktopна"0"или
"1".
Отображатьсодержимоеокнаприего
перетаскиванииизменяетзначениепараметраDragFullWindowsвразделе
HKEY_CURRENT_USER\ControlPanel\desktopна"0"или
"1".
Продолжение
следует...
:).
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
ИзменениеразличныхустановокРабочегостолаи
оболочки
Внаписанииэтойстатьимнеоченьпомоглакрайнеполезнаякнига:Г.
Борн"РеестрWindows98:Пер.сангл."-СПб.:BHV-Санкт-Петербург,
2000.Настоятельнорекомендуюеепочитать:).
Продолжаемразговороразличныхнастройкахграфическихи
видеоэффектовоболочкииРабочегостолаWindows,начатыйв
предыдущейстатье.
Ивэтотразречьпойдетонастройкахразличныхвидеоэффектов.Еслиу
васстоитмедленнаямашина,топрименениеразличныхвидеоэффектов
можетсерьезнозамедлитьскоростьееработы,чтосовершенноне
приемлемо.Конечно,еслиувасмощныйкомпьютер,ориентированныйна
работус3Dграфикой,тонестоитзатрачиватьусилий,наихотключение,
всемостальныминформациюнепомешаетпринятьксведению.
Windows98используетвидеоэффектприсворачиванииокна-когдаокно
исчезает,пользовательвидитпоследовательностьсжимающихсяокон.Это
иногдавызываетпроблемынамашинахсмедленнымивидеокартами.
ЧтобызапретитьэтотвидеоэффектнадодобавитьключMinAnimate="0"в
разделHKEY_CURRENT_USER\ControlPanel\desktop\WindowMetrics.
Многиенастройкивидеоэффектовнаходятсявразделе
HKEY_CURRENT_USER\ControlPanel\desktopвпараметре
UserPreferenceMask.Сперваяприведутаблицу,расшифровывающуюэти
настройки,апотомобъясню,какэтовсеустанавливать:
Бит
Описание
0
Еслиэтотбитустановлен(равен1),токаждыйэлемент,
находящийсяподуказателеммыши,будетавтоматически
становитьсяактивным.
1
Управляетвидеоэффектомвсплывающегоменю.
Соответствуетфлажку"Использоватьвидеоэффектыпри
выводеменю,оконисписков"навкладке"Эффекты"
диалога"Свойства:Экран".
2
Управляетвидеоэффектомвсплывающего
комбинированногосписка(этотакоеполе,вкотороеможно
заводитьтекствручнуюиливыбиратьегоизсписка,
появляющегосяприщелчкенакнопкесострелочкой,справа
отполяввода).
3
Управляетвидеоэффектомвсплывающегосписка.
4
УправляетотображениемверсииWindowsнарабочемстоле.
5
Управляетподчеркиваниемсимволовбыстрыхклавишв
меню.
6
Действиеаналогичнонулевомубиту.
7
Управляетпоявлениемвсплывающихподсказокпри
наведенииуказателямышинаобъектидругимиэффектами,
связаннымисдвижениемуказателямыши.
Теперьнемногоотом,каквыставлятьзначенияэтогопараметра.Так,
например,уменяэтотпараметримеетзначение"be000000".Если
перевести"be"изшестнадцатеричногоформатавдвоичный(прощевсего
воспользоватьсястандартнымWindows-овскимкалькулятором,конечно,
есливынеможетесделатьэтовуме:),тополучается10111110.Т.е.
нулевойишестойбитывыключены(есликтонезнает,вдвоичнойсистеме
битысчитаютсясправа,налевоначинаяс0).Такимобразом,чтобы
изменитьнастройки,получитенужноевамчисловдвоичнойсистеме,
переведитееевшестнадцатеричнуюиподставьтевкачествезначения
параметра.Длявступлениянастроеквдействиенадоперезагрузить
компьютер.
Ещеоднимпараметромнастройкиоболочки,правда,никакнесвязаннымс
графикой,окоторомхотелосьбыупомянуть-подачазвуковогосигналапри
ошибке.ВWindowsестьзвуковыесхемы,вкоторыхнасообщенияоб
ошибках,вопросы,восклицания,установленысвоизвуки.Нокакбыть,
еслинетзвуковойкарты-частоеявлениевофисныхкомпьютерах.Если
добавитьвреестрпараметрBeepвразделHKEY_CURRENT_USER\Control
Panel\desktop,которыйможетиметьзначения"Yes"или"No",топри
значении"Yes"Windowsбудетподаватьзвуковойсигналобошибкена
спикеркомпьютера.
ЦветаэлементовWindows.
МожноизменятьцветаразличныхэлементовWindows(такихкаккнопки,
текстнакнопках,неактивныезаголовки,активныезаголовкии
всплывающиеподсказки)навкладке"Оформление"диалога"Свойства:
Экран".Названияэлементовпоказанывсписке"Элемент",ихцветможно
изменятьприпомощикнопки"Цвет",расположеннойсправаотполяввода.
Цвета,определенныедлякаждогоэлементаWindows,хранятсякак
параметрывразделеHKEY_CURRENT_USER\ControlPanel\Colors.
Каждомуэлементусоответствуетстроковыйпараметрссозвучным
названием(ActiveBorder,ActiveTitle,ButtonFace,GrayTextит.д.),вкотором
хранитсястрока,определяющаяцвет.Значенияцветовзаписываютсяв
строках,состоящихизтрехчиселвдесятичнойзаписи,разделенных
пробелами.Каждоечисломожетменятьсяот0до255,т.е.от0до100
процентовинтенсивностибазовогоцвета.Перваяцифрасоответствует
красномуцвету,вторая-зеленому,третья-синему.
Темаэтаоченьобширнаинаэтомнезаканчивается,такчто...
...продолжениеследует.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
ИзменениеразличныхустановокРабочегостолаи
оболочки
Этоужетретьястатьяизсериинастроекграфическихи
видеоэффектовоболочкииРабочегостолаWindows,начатойв
статьездесь.
Вэтотразречьпойдетопараметрахмышииуказателейио
настройкахфонаРабочегостола.
Вкладка"Указатели"диалога"Свойства:Мышь"впанели
управления,позволяетопределятьразличныесхемыкурсоров.
Схемыуказателеймышиопределяютсимволы,соответствующие
определеннымрежимам,такимкак"Основнойрежим","Выбор
справки","Системанедоступна"и"Выделениетекста".Каждая
схемасостоитиз14разныхуказателейдлястандартныхрежимов,но
можнопереопределитьсимволуказателядлякаждогорежимаи
сохранитьэтовсхемеподуникальнымименем.
Схемыуказателейхранятсявразделе
HKEY_CURRENT_USER\ControlPanel\Cursors\Schemes.Каждый
параметрвнутриэтогоразделасостоитизименисхемы,определяемого
пользователем,истроковогозначения,состоящего
из14пунктов.Пунктыразделенызапятымиисоответствуют
символууказателя.Пунктопределяетпутькфайлууказателя
(CURилиANI).Еслииспользуетсястандартноезначение,то
соответствующийпунктбудетпустым.Стандартнаясхема
содержитсявпараметре"WindowsStandart",аимяактивной
схемынаходитсявпараметре"Поумолчанию".
Большаячастьдругихпараметровмышихранитсявразделе
HKEY_CURRENT_USER\ControlPanel\Mouse.Дляудобстваони
сведенывтаблицу:
Имяпараметра
Описание
Определяетто,какимобразомдвижениемыши
преобразуетсявдвижениеуказателей.
Коэффициент
преобразованияневсегдаравен1.Когдашаг
мыши
достигаетзначенияодногоизпороговых
параметров
(MouseThreshold1иMouseThreshold2),Windows
увеличивает
MouseSpeed
скоростьуказателя.Принимаетзначения:
0Не
увеличиватьскоростьуказателя
1При
достижениизначенияпараметраMouseThreshold1
удваивать
скоростьуказателя
2Придостижениизначения
параметраMouseThreshold1удваиватьскорость
указателя;Придостижениизначенияпараметра
MouseThreshold2
учетверятьскоростьуказателя
Определяетпороговоезначение(впикселях)
смещения
MouseThreshold1
мышимеждудвумяпрерываниямимыши
MouseThreshold2
Определяетвтороепороговоезначение
Принимаетследующиезначения:
0
Использоватьисходнуюсхемукнопок(дляправой
SwapMouseButtons
руки)
1Поменятькнопкиместами(для
левши)
Определяетмаксимальныйинтервалв
миллисекундах
DoubleClickSpeed междудвумящелчкамикнопкимыши,при
которыхони
воспринимаютсякакдвойнойщелчок
Определяетмаксимальноесмещениемышимежду
двумя
щелчками.Еслионпревышаетмаксимальные
DoubleClickHeight, значения,то
DoubleClickWidth
дващелчканебудетвосприниматьсякакдвойной
клик.
Настройкифона
Ну,фоннастроитьнепроблемаспомощьюсвойствэкрана,но
вотгдеэтипараметрынаходятсявреестре?Нетничегопроще:открывайте
разделHKEY_CURRENT_USER\ControlPanel\Desktopи
давайтесмотретьчтотаместь.
Pattern-записьприсутствует,когдавкачестве
обоеввыбранузор.Узоропределяетсякакстрока,содержащая8
байтов.Этастрокаопределяетфрагментузора8х8
точек.
TileWallpaper-параметропределяет,размноженлирисунокобоев
(значение1)илионнаходитсяв
центре(0).Еслирисуноквцентре,токостальнойобласти
применяетсявыбранныйузор.
Wallpaper-какнетрудно
догадаться,параметрсодержитпутькфайлурисункаобоев.
Картинкадолжнабытьвформатеgif,jpg,илиbmp.Причем
хранитькартинкувbmpлучше-будетменьше
тормозить.
WallpaperStyle-данныйпараметрв
Windows95отсутствует.Еслиегозначениеравно2,тообои
будутрастянутынавесьрабочийстол.
Этойстатьейябыхотелзакончитьциклобизменении
различныхустановокинастроекРабочегостолаиоболочки
Windows.Конечно,теманеисчерпана:естьещенастройкидля
режимаActiveDesktop,ноэтоужеотдельнаятемаистатьяоб
этомещепоявитсянасайте.Апока...продолжениянебудет
:).
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
REGEDIT4<br/>
[HKEY_CLASSES_ROOT\.diz]
@="DIZ-File"<br/>
[HKEY_CLASSES_ROOT\DIZ-File]
@="Описаниепрограммы"<br/>[HKEY_CLASSES_ROOT\DIZ-File\shell]
<br/>[HKEY_CLASSES_ROOT\DIZ-File\shell\Open]<br/>
[HKEY_CLASSES_ROOT\DIZ-File\shell\Open\command]
@="C:\\windows\\notepad.exe\"%1\""<br/>[HKEY_CLASSES_ROOT\DIZFile\DefaultIcon]
@="C:\\windows\\notepad.exe,1"<br/><br/>
[HKEY_CLASSES_ROOT\DIZ-File\shell\print]<br/>
[HKEY_CLASSES_ROOT\DIZ-File\shell\print\command]
@="C:\\windows\\notepad.exe/p\"%1\""<br/><br/>
Думаю,аналогияпонятна.Теперьвыисамиможетедобавитьлюбойпункт
менюклюбомузарегистрированномутипуфайлов.Так,можнобылобы
добавитьпросмотрфайловdizвWordPad'e,Word'eилиещегде-то.
Возможностипоредактированиюконтекстногоменюфайловвесьма
обширныеиянадеюсь,чтомнеудалосьдовольнопонятнообъяснить
технологиюдобавленияновыхпунктов.Ну,аесличто-тобудетнепонятно,
пишите.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
Созданиенестандартногоярлыка
Автор:Александр
Всезнают,чтоприустановкеMSOfficeнарабочемстолепоявляетсяярлык
MicrosoftOutlook.Вотличиеотдругихярлыков,уэтогонетстрелочкии
привычногоменю,появляющегосяпринажатииправойкнопкимыши.Его
нельзяскопировать,толькосоздатьобычныйярлык.
Темнеменеесделатьтакой"ярлык"длялюбойпрограммыдовольно
просто,рассмотримнапримереOutlookExpress.
1.ВразделереестраHKEY_CLASSES_ROOT\CLSIDсоздадимразделс
именем{01010101-2020-3030-1111-AF10AF10AF10}.Вместоэтихцифр
могутбытьлюбыедругие,атакжебуквыотAдоF,главное,чтобыне
совпадалосужесуществующимиразделами.
2.Вэтомразделевстроковомпараметрепоумолчаниюзаписываем
OutlookExpress,затемсоздаемновыйстроковыйпараметрInfoTip,вего
значениезаписываемописаниепрограммы,внашемслучае"Электронная
почта".
3.ВэтомжеразделесоздаемдвановыхразделаDefaultIconиShell.
4.ВзначениепоумолчаниюDefaultIconпрописываем"C:\Program
Files\OutlookExpress\msimn.exe,0"(илитоткаталог,кудаувасустановлена
программа).
5.ВразделеShellсоздаемразделOpen,вэтомновомразделесоздаемеще
раздел,сименемCommand.Взначениепоумолчаниюпрописываемпутьк
программе"C:\ProgramFiles\OutlookExpress\msimn.exe".
6.Создаемпустойфайлбезрасширения.Яделаюэтотак.Щелкаюправой
кнопкойпоРабочемустолу,ивпоявляющемсяменювыбираю"Создать
ярлык".Появляетсядиалоговоеокно"Созданиеярлыка"инаРабочемстоле
появитсяфайлсназванием"Новыйярлык".Еслиегоскопировать,то
получитсякакразпустойфайлбезрасширения.
7.НазываемполученныйфайлOutlookExpress.{01010101-2020-3030-1111AF10AF10AF10}.Перезагружаемкомпьютер,всеярлыкготов.
Впринципеможноделатьярлыкидляпапки,дляэтоговразделеCommand
указываем"C:\Windows\explorer.exeX:\NameFolder\NameSubfolder\".Нов
отличиеотпростогоярлыка,нановыйярлыкнельзяперетащитьфайлдля
копирования.
Еслинетжеланияделатьвсевручную,томожнозапуститьфайлOE.reg
REGEDIT4
[HKEY_CLASSES_ROOT\CLSID\{01010101-2020-3030-1111-AF10AF10AF10}]
@="OutlookExpress"
"InfoTip"="Электроннаяпочта"
[HKEY_CLASSES_ROOT\CLSID\{01010101-2020-3030-1111-AF10AF10AF10}\DefaultIcon]
@="C:\\ProgramFiles\\OutlookExpress\\msimn.exe,0"
[HKEY_CLASSES_ROOT\CLSID\{01010101-2020-3030-1111-AF10AF10AF10}\Shell]
[HKEY_CLASSES_ROOT\CLSID\{01010101-2020-3030-1111-AF10AF10AF10}\Shell\Open]
[HKEY_CLASSES_ROOT\CLSID\{01010101-2020-3030-1111-AF10AF10AF10}\Shell\Open\Comm
@="C:\\ProgramFiles\\OutlookExpress\\msimn.exe"
Теперьвыможетесоздаватьсвоинестандартныеярлыкидлялюбыхфайлов
икаталогов.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
"Хитрые"ярлыкипапок
Автор:TarasovCostja
Каксоздатьярлыкпапки,которыйвпроводникебудетвестисебятакжекак
папка,накоторуюонссылается.
1. Создайте папку с любым именем, именно она станет впоследствии
ярлыком.
2.Откройтевашлюбимыйтекстовыйредакторивведитеследующее:
[.ShellClassInfo]
CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}
Flags=2
исохранитеподименемdesktop.iniвсозданнойпапке.
3.Создайтевэтойпапкеярлыкtarget.lnk,ондолженссылатьсянапапку,на
которуюбудетссылатьсясоздаваемыйярлык.
4. Установите у файла desktop.ini атрибуты Скрытый и Системный (в
свойствах файла), а у папки-ярлыка - Только чтение. Проще всего это
сделатьприпомощиFar(Ctrl+A).
Проверялось в Windows XP Home Edition и Windows 2000, но должно
работатьивWindowsMillenium(возможноивдругихверсиях).
Для простоты создания таких ярлыков привожу небольшой скрипт,
позволяющийполностьюавтоматизироватьпроцесс:
DimArgs,WSHShell,fso,f,TL
SetArgs=WScript.Arguments
SetWSHShell=WScript.CreateObject("WScript.Shell")
Setfso=WScript.CreateObject("Scripting.FileSystemObject")
Setf=fso.GetFolder(Args(0))
f.Attributes=f.AttributesOr1
'СоздаемфайлDesktop.iniвкаталоге-ссылке
Setf=fso.OpenTextFile(Args(0)+"\Desktop.ini",2,True)
f.Write"[.ShellClassInfo]"+vbCrLf
f.Write"CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}"+vbCrLf
f.Write"Flags=2"+vbCrLf
f.Close
'Задаемемуатрибуты
Setf=fso.GetFile(Args(0)+"\desktop.ini")
f.Attributes=f.AttributesOr2
f.Attributes=f.AttributesOr4
'Создаемярлык
SetTL=WSHShell.CreateShortcut(Args(0)+"\Target.lnk")
TL.TargetPath=Args(1)
'Задаемизображениеиконки.Вданномслучаебудет
'использованоизображениесномером0изфайлаБлокнота(значокблокнота)
TL.IconLocation="%windir%\notepad.exe,0"
TL.Save
Скрипт написан на VBScript (расширение у файла должно быть .vbs).
Запускатьегонадоспараметрами:первыйпараметр-путькпапке-ярлыку,
второй параметр - путь к папке, на которую создается ярлык. На всякий
случай предупреждаю, что путь, содержащий один или несколько
пробелов,нужнозаключитьвкавычки.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
КоцаемWindows
Даровавсемонлайновымперцам!!!ВсевынавернослышалиотакойОС
какWindows;)Вполневозможно,чтослышали.Таквотвсенаверное
знаетеобезграничностиееглюкнутыхбагов.ТакуждядяБыллГеймс
постарался.Типаэтихошибокстановитьсястолько,сколькомолекулв1л
пива:)),честноеслово.Ониплодятсяпопринципу"каждаяследующая
порождаетпредыдущуюилинесколькоследующихпорождаюткучу
предыдущих",вобщемгеометриякакая-то.Ладнонамбольнонепофигу?
Нет,какразнепофигу!Намбагина...ненужны.Таквот,чтобыхотябы
частичноизбавитьсебяотэтих"компьютерныхрадостей"нужноподумать
какихубрать.Точно,тыдавайдумай,аятебеподскажунесколькофичей
пооптимизациитвойродимойОС.Дальшемыбудемстобойвозитьсяс
файлами,поэтомухорошобыпоставитьменеджер"FAR".Поставил?
Пошлидальше.ОткрывайConfig.sysиредири:
CONFIG.SYS
Напишивсамомначалефайла:
DOS=HIGH,UMB,NOAUTO
DEVICE=C:\W\HIMEM.SYS/VERBOSE/V/TESTMEM:OFF
DEVICEHIGH=C:\W\IFSHLP.SYS
DEVICE=C:\W\EMM386.EXE/NOEMS/V/VERBOSE
STACKSHIGH=0,0
LASTDRIVEHIGH=E(Вместо"E"поставьбуквупоследнегодиска)
BUFFERSHIGH=20
FCBSHIGH=1
FILESHIGH=10
C:/W-это,типа,каталогкудаутебяОкошкиустановлены.
NOAUTO-глюкWindows.Еслиэтустрокунеуказать,тоавтоматически
грузятсядрайвераHIMEM.SYS,IFSHLP.SYS,SETVER.EXE.SETVER
нужентолькодляотсталыхпрог,ив99%случаевможнообойтисьбезнего.
ПоэтомуставимNOAUTOиразбираемсясами.Найдитеперьстрочку
"COUNTRY=..."ипоставьееследующей.Всеостальное-нетольконе
нужно,ноивредно.Естественно,янеучитываюкакую-нибудьособенную
конфигурациютвоегокомпьютера(особенноеслиэтоCOMPAQ),которая
можетпотребоватькучудополнительныхдрайверовтолькодлятого,чтобы
включаться).Простозаремь(поставьпереднимикоманду"REM")все
лишниестрочки(удалятьпоканестоит,навсякийслучай).Получилось?
Молодец,давайзабегивAutoexec.batинадериего:
AUTOEXEC.BAT
ВстрокуPATHWindows,возможно,добавилсобственныепути:
C:\Wи
C:\W\COMMAND
Убериихкчерту-всеравноонисуществуютпоумолчанию.Добавьпосле
этогострочки:
SETTEMP=C:\RECYCLED
SETTMP=C:\RECYCLED
Еслитынебудешьставитьавтоудалениефайловизкорзины,тодопиши:
@DELTREE/YC:\RECYCLED
@MDC:\RECYCLED
Корзинабудеточищатьсяавтоматомприкаждойперезагрузкекомпа.Далее
сносиилизаремьтристрочки:
MODECONCODEPAGEPREPARE...
MODECONCODEPAGESELECT...
KEYB...
идобавь:
C:\W\KEYRUS.COM
Естественно,передэтимKEYRUS.COMнужноскачатьиположитьвпапку
Windows.Собственно,все.Остальноезаремь.Особенноеслитам
сохранилисьДОСовскиедрайверамыши,сидюкаилибластера.Нестоит
грузитьдрайвермышкадрома-Windowsнанегоплеватьсвысокой
колокольни,драйвермышкиунегосвой.НестоитгрузитьдрайверCDROMвCONFIG.SYS,MSCDEX.EXEвAUTOEXEC.BAT-программы
предназначеныдляDOS,иWindowsвнихненуждается.Какправило,90%
исправныхIDECD-ROMправильноопределяютсяWindows.Нуче,не
устал?Тогдамыпродолжаемнашимазохискиеметоды.
MSDOS.SYS
Этотфайлсостоитиздвухразделов:[Path]и[Options].ВPathможет
содержатьсячетыреидентификатора:
HostWinBootDrv-Определяетзагрузочныйдиск
WinBootDir-Определяетрасположениенеобходимыхзагрузочныхфайлов.
Поумолчаниюкаталог,указанныйприустановке
WinDir-ОпределяетрасположениекаталогаWindows,указанногопри
установке
UnInstallDir-Путь,покоторомупрограммаустановкиположилафайлыдля
деинсталляции.Большинствулюдейненужно.
Теперьотом,чтосодержится,ичтодолжносодержатьсявOptions:
AutoScan-ЭтотидентификаторответственензазапускScanDiskапри
неправильномзавершенииработы.0-незапускаетсяникогда,1спрашиватьразрешение,2-запускатьбезразрешения.Ставь"AutoScan=0",
особенноеслиутебяW95OSR2-вэтойверсииScanDiskсодержитошибку
иможетпорушитьсистему.
BootDelay-Устанавливаетзадержкувсекундахприпоявлениинадписи
StartingWindows95/98.Ставь"BootDelay=0".Дажепритакойзадержкеты
успеешьнажатьF8.
BootSafe-ЗагрузкавSafeMode.ПоумолчаниюBootSafe=0.Еслихочешь,
чтобыкаждыйразВиндызагружалисьиз-подсохраненногорежима,то
ставь"BootSafe=1".Правда,незнаю,зачемэтонужно.
BootGUI-Загрузкасграфическойсредой.Поумолчанию"BootGUI=1".
Еслихочетсякаждыйразработатьвтекстовомрежиме,ставь"BootGUI=0".
BootKeys-РазрешаетпользоватьсяпризагрузкеклавишамиF5,F6иF8.По
умолчанию"BootKeys=1".Еслихочешь,чтобыкто-нибудьнеселзатвой
компьютеринезашелвДОС,ставь"BootKeys=0".
BootMenu-Еслиустановленаопция"BootMenu=1",токаждыйразпри
загрузкебудетпоявлятьсяменю,котороеобычнопоявляетсяпринажатии
клавишиF8.
BootMenuDefault-Выбираетпунктвзагрузочномменюпоумолчанию.По
умолчаниюзначение3длякомпьютеровбезсетевыхкомпонентови4для
сетевыхкомпьютеров.Т.е.еслитыхочешь,чтобы,когдапоявляетсяэто
меню,утебякурсоравтоматическистоялнаCommandPromptOnly,то
пиши"BootMenuDefault=5"(уменяэтотпунктподномером5).
BootMenuDelay-Времявсекундах,втечениекоторогоможноуспеть
сделатьвыборвзагрузочномменю.Значениепоумолчанию30.Ставь
"BootMenuDelay=1".
BootMulti-РазрешаетзагрузкупредыдущейверсииDOSпринажатииF4
либопривыборесоответствующегопунктаиззагрузочногоменю.Значение
поумолчанию0.НуженстарыйДОС-ставь"BootMulti=1".
BootWarn-ПредупреждениеозагрузкевSafeMode.Значениепо
умолчанию1.Ставь"BootWarn=0".
BootWin-РазрешаетиспользованиеWindows95вкачествеоперационной
системыпоумолчанию.Значениепоумолчанию1.Еслинужназагрузка
предыдущейверсииДОСипоумолчанию(тогдазачемтебевообще
Windows?),тоставь"BootWin=0".
DblSpace-УстанавливаетавтоматическуюзагрузкуDBLSPACE.BIN.По
умолчанию1,поэтомуобязательноставь"DblSpace=0"(естественно,еслиу
тебянетсжатыхдисков).
DisableLog-Разрешаетпризагрузкенесоздаватьфайлпротоколаbootlog.txt.Дляобычнойработыпоставь"DisableLog=1",внольженужно
обращатьэтотпараметрпринеработоспособностисистемыдля
обнаружениянеполадок.
DoubleBuffer-РазрешаетдвойнуюбуферизациюдляSCSI-контроллеров.
Значениепоумолчанию0.ЕслиестьустройстваSCSI,топиши
"DoubleBuffer=1".
DrvSpace-РазрешаетавтоматическуюзагрузкуDRVSPACE.BIN.Значение
поумолчанию1.Поэтомуобязательноставь"DrvSpace=0"(аналогично,
еслинетсжатыхдисков).
LoadTop-РазрешаетзагрузкуCOMMAND.COMилиDRVSPACE.BINв
верхнююпамятьЗначениепоумолчанию1.Рекомендуетсяустанавливать
"LoadTop=0"приработесNetWareилилюбымсофтом,имеющимличное
мнениеобиспользованииданныхобластейпамяти.
Logo-Разрешаетпоказыватьлоготип.Значениепоумолчанию1.Установка
в0такжепредотвращаетперехватнекоторыхпрерываний,которыйможет
привестикнесовместимостиснекоторымидиспетчерамипамятиот
независимыхпоставщиков.Поэтомунераздумывайиставь"Logo=0".
Network-Разрешаетпунктзагрузочногоменю"SafeModeWith
Networking".Значениепоумолчанию1длясетевыхкомпьютеров.Должно
бытьустановленов0приотсутствиисетевойподдержки.Такчтоне
поленись:"Network=0"(конечно,еслинетлокальнойсети).
BootFailSafe(ТолькоWindows98)-Еслиэтаопцияустановленав0,тов
загрузочномменюотсутствуетпунктSafeMode.
SYSTEM.INI(вкаталогеWindows)
Найдираздел[vcache](еслитаковогоненайдется,тосоздайего)иизмени
следующимобразом:
[vcache]
MinFileCache=min
MaxFileCache=max
chunksize=512
NameCache=2048
DirectoryCache=48
Значенияminиmaxвыбираютсявзависимостиотколичестваоперативной
памяти,согласноэтойтаблице:
RAM|MIN|MAX
32MB|2048|6144
48MB|2048|8192
64MB|2048|10240
128MB|4096|16384
Теперькороткоотом,чтоэтотакое.Перваястрока,ядумаю,ясно,-
названиераздела.Следующиедвеустанавливаютмаксимальныйи
минимальныйобъемКЭШавкилобайтахдляфайлов.
Следующаяуказывает,насекторакакогоразмераразбитразделпамяти,
выделенныйподкэш.Иследующиедвеуказываютколичествофайлови
каталогов,отслеживаемыхWindows.
Теперьсоздавай(аскорееищи,таккаконсоздаетсяавтоматически)раздел
[PasswordLists].Тамбудетнаписаночто-товроде
"Vasyapipkin=C:\Windows\vasyapipkin.pwl",гдеNick-этотвоеимя.
Вотздесьтоистоитзащититься.Исправьпутькфайлуспаролем(PWL)на
тот,которыйзахочешь.Например,
Nick=C:\MY\Download\Temp\billgames.PWL.Незабудьпереместить
(именнопереместить,анескопировать)самфайл.Оченьрекомендуется
сменитьегоимя(вданномслучаеvasyapupkin.pwlнаbillgames.pwl).Такты
заметноусложняешьработутемлохам,ктозахочетполучитьдоступк
твоемукомпу.
Еслитыхочешьвключитьвзагрузочнуюпоследовательностькакие-либо
специальныекоманды,нотак,чтобыдругойкул-хацкерневырубилих,
присвоенияатрибута"скрытый"(hidden)или"толькодлячтения"(read
only)файлуautoexec.batнедостаточно.Дляэтогонадовоспользоватьсявот
такойнычкойВиндов.Послезапускафайловconfig.sysиautoexec.batво
времязагрузкивыполняетсякомандаwin.com,чтодаетвозможность
создатьфайлwin.bat,кудаипоместитьспециальныекоманды,которыеты
хочешьвключатьвautoexec.bat.Посколькукомандныефайлы(*.bat)имеют
приоритетпередисполняемыми,вместоwin.comпоумолчаниюбудет
загруженwin.bat.Тольконезабудьвписатьвкомандныйфайлпоследней
строкойкомандуwin.com,чтобызагрузитьМаздай.Да,пишикомандув
явномвиде,вместесрасширением.com,атотвойwin.batначнетзаикаться.
ЕслитыхочешьвыкинутьлишниепозициивспичкеAdd/Remove
(установка/удаление)программ(например,еслипрогабылапростостертас
диска,простотакеезаписьхренвыбросишь),запускайредакторреестра,
будемрезать:)):
HKEY_LOCAL_MACHINE/Software/Microsuxx/
Windows/Current/Version/UninstallThis-тывишькучукишок?
Да!Клево!Давайбериноживырезайвсякийненужныйтебеспами
перегружайкомп.ВсеОК.
Тыпомнишьэтунадоедливуюполупрозрачнуюстрелкувлевомнижнем
углу,котораявсегдапортитвсерульныепиктограммы,неприносяникакой
пользы:((Давай-каеетожевыкинем,ОК?
Лезьопятьвреестр(regedit)иправьHKEY_CLASSES_ROOT/Inkfile,реж
значениеIsShortcut,
затемвHKEY_CLASSES_ROOT/piffileтожережзначениеIsShortcut,после
перезагрузисьивсе-ТЫХАЦКЕР!!!
ВоттипатыинаучилсяазамВиндовскихвнутренностей:)Нукак?
Понравилось?Правдо,захватывает?
НесколькоэтихфишекдолжныпомочьтвоейОСнезагнутьсясовсем.Если
тыне"шланг",тоутебявсеполучиться.Авследующийразярасскажу
тебеотомкакзаставитьработатьнасебя5-оенашествиемутантов
Микрософт,ежиковЕхплоеров,атакжемногодругихрульныхнычекв
системе.Ивправдупословица"Ошибкибыли,ошибкиесть,ошибкибудут"
работаетнавсе100%!!!
Амнеостаетсятолькопожелатьтебе,перец,одно:Пиши,стирай,компили,
гуди,звени,ламай...ичитай"Х"!!!Все!Пакеда,перец!
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
<b>DEVICE=C:\WINDOWS\HIMEM.SYS/V/TESTMEM:Off
DEVICE=C:\WINDOWS\EMM386.EXENOEMSV</b>
<b>DEVICEHIGH=C:\WINDOWS\IFSHLP.SYS</b>,
dos=high,auto
device=c:\windows\himem.sysdevice=c:\windows\ifshlp.sysdevice=
c:\windows\setver.exefileshigh=30
lastdrivehigh=zbuffershigh=30
stackshigh=9,256
shell=command.com/pfcbshigh=4
@echooff
netstart
settmp=C:\windows\tempsettemp=C:\windows\tempset
COMSPEC=C:\COMMAND.COM
prompt$p$g
pathc:\windows;c:\windows\command
<b>DEVICE=C:\WINDOWS\EMM386.EXERAMVERBOSE</b>,
<b>SHELL=C:\COMMAND.COM/P/E:1024</b>
Обьемсвободнойоперативнойпамятиможетрезкоуменьшитсяпри
использованиибуфераобмена,особенноесливнемхранитсябольшая
картинка,поэтомунезабывайтепослеработысбуферомвмощных
программныхпакетахочиститьего,скопироваввсегооднубуквуиз
блокнота,например.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
FAQпофайлуподкачки
Примерно75%статьисоставляетматериал,присланныйАндреем
Ежгуровым.Дляполнотыкартиныядобавилиотсебяпаруслов,атакже
включил
сюданесколькосоветовиз"Народноймудрости"
поэтойтеме.
Чтотакоефайлподкачки?
Файлподкачки
(swap-файл,виртуальнаяпамять)-этофайл,которыйслужит
"продолжением"оперативнойпамяти.Всепрограммывовремя
своейработызанимаюткакой-тообъемоперативнойпамяти:одни
-больше,другие-меньше.Еслиодновременнозапустить
несколькоприложений,занимающихбольшойобъемоперативной
памяти,томожетполучитьсятак,чтофизическогообъема
установленнойоперативкинехватаетподнуждывсехпрограмм.
ТогдаWindowsпереноситданныенеактивныхпрограммиз
оперативнойпамятиввиртуальную.Припереходев
"засвопированную"программу,данныеизфайлаподкачки
переносятсявоперативку.Этоутрированнаясхемаработы,по
которой,однакоможнопонятьпроцессы,происходящиевпамяти
компьютера.
Физическимвоплощениемфайлаподкачкиявляется
файлwin386.swpвкаталогеWindowsдляWin9x/MEифайл
pagefile.sysвкорнедиска,кудаустановленаоперационная
система,дляWinNT/2000/XP.
Какопределитьтребуемыйобъемswap-файла?
При
определенииобъемафайласвопинганеобходимоисходитьнеиз
объемаRAM,аиззадач,выполняемыхнаданномкомпьютере.Для
этогонужнозапуститькакую-либопрограммумониторинга,умеющую
регистрироватьобъемswap-файла(например,встроенный
вWindows"Системныймонитор")изанятьсятипичнойдляданного
компьютераработой.Максимальныйобъемфайласвопинга,
зарегистрированныйвтеченииэтогосеанса,ибудеттребуемым
размером.
ЕсливыактивноиспользуетеDOS'овскиепрограммы,топриготовьтеськ
тому,чтофайлсвопингаможетиметьнемалый
размер:ограничитьобъемпамяти,выделяемыйDOS'овским
приложениям,конечноможно(этоделаетсявсвойствахярлыка),но
обычноэтогониктонеделает.
Гдерасполагатьфайлподкачки?
Есливсистеме
нескольковинчестеров,тонасамомбыстромизних.Если
винчестерразбитнанесколькоразделов,тонаразделе,расположенномв
началедиска(этоможетнеработатьдля
ноутбуков,винчестерыкоторыхмогутрасполагатьданныене"по
цилиндрам",а"поповерхностям").
Какзафиксироватьразмерфайлаподкачки?
Windows9x/Meактивноиспользуетфайлподкачки,значительноразгружая
оперативнуюпамятькомпьютера.Microsoftсделалафайлподкачки
динамическим,т.е.размерфайлаизменяетсявзависимостиот
нуждWindows,хотянаилучшаяпроизводительностьсистемы
достигаетсяпристатическомфайле.Причиндляэтогомножество
-Windowsнетребуетсякаждыйразизменятьразмерфайла
подкачки,исчезаетфрагментацияит.д.Длятогочтобыизменить
параметрыфайлаподкачки,щелкнитеправойкнопкоймышина
значке"Мойкомпьютер"ивыберитеСвойства.Перейдитена
вкладкуПроизводительностьищелкнитекнопкуВиртуальная
память(Properties->Performance->VirtualMemory).В
появившемсяокневыберите"Параметрывиртуальнойпамяти
устанавливаютсявручную"(Letmespecifymyownvirtualmemorysettings).
Еслиувасустановленоболееодногожесткогодиска,рекомендуется
перенестифайлподкачкисдиска,гдеувас
установленаWindowsнадругойжесткийдиск,болеебыстрый.Это
должнозначительноувеличитьпроизводительностьсистемы.
Теперьустановитеразмерфайлавиртуальнойпамяти.
Рекомендуемыйразмер-хотябыв2,5разабольше,чемобъем
оперативнойпамяти.Перезагрузитесистемуизапуститеутилиту
дефрагментациидлятого,чтобыбытьуверенным,чтофайл
подкачкинефрагментирован.Аесливыпользуетесь
дефрагментаторомстороннихпроизводителей,вопцияхукажите,чтобы
файлподкачкирасполагалсявначаледиска.
Надо-лификсироватьмаксимальныйразмерфайла
подкачки?
Нет,нивкоемслучае.Необходимо
зафиксироватьтолькоминимальныйразмер(всоответствиис
вышеприведеннымирекомендациями).Фиксированиемаксимального
размеранеприводиткроступроизводительности,нозато
являетсяпотенциальнымисточникомглюковиз-занехватки
памяти.
Ссылки(встречающиесявнекоторыхFAQ)нато,что
отсутствиефиксацииMAXприведеткфрагментацииswap-файлане
состоятельны.ПриправильномвыбореMIN99.9%временисвопинг
небудетпревышатьэтойвеличиныифайлсвопингабудет
дефрагментирован.Втехжередкихслучаях,когдапонадобится
большийобъемвиртуальнойпамяти,файлсвопингадействительно
станетфрагментированным,нотолькодотехпор,покаработает
приложение,которомутребуетсястолькопамяти.Кактолькоэто
приложениебудетснято,файлсвопингаавтоматическиуменьшится
доразмераMIN,причембудетвыкинутфрагментированныйконец
файлаиswap-файлсновастанетдефрагментированным.
Какдефрагментироватьфайлподкачки?
Стандартный
Windows'овскийDefragнеумеетперемещатьфайлсвопинга.
Поэтомунадоиспользоватьутилитыдругихфирм.ИМХО,удобнее
всегоиспользоватьSpeedDiskизсоставаNortonUtilities(разумеется,как
можноболееновых).
Уменяслишкомбольшойфайлподкачки...
Для
компьютеров,оснащённыхболеечем64MBоперативнойпамяти,можно
порекомендоватьследующий"трюк":вфайлеsystem.ini,который
находитсявкаталогеC:\Windows,вразделе[386Enh],необходимодописать
строкуConservativeSwapfileUsage=1.
Это
позволитсистеменесоздаватьфайлподкачкибезнеобходимости.
Например,со128MBоперативнойпамятиможнобудетоткрытьдо
трёхофисныхприложений,таких,какWord,ExcelиInternetExplorer,
притом,чторазмерфайлаподкачкиостанетсяравным
нулю.ТожесамоепроизойдётпризапускеQuake3.
Имеет-лисмыслиспользоватьключ
ConservativeSwapfileUsage=1?
Этотключимеетсмысл
использоватьвЕДИНСТВЕННОМслучае-еслинавинчестере
катастрофическинехватаетместа.Вовсехостальныхслучаях
использоватьегонеимеетсмысла:этотключдействительно
уменьшаетразмерswap-файла,ноприэтомснижаетэффективность
подсистемысвопинга,чтоухудшаетобщуюпроизводительность
Windows.
Утверждение,чтоэтотключуменьшаетобъем
свопингаи,следовательно,кол-вообращенийкдиску(что
увеличиваетпроизводительность),несоответствует
действительности-объемсобственносвопингаприиспользовании
данногоключанеменяется,меняетсяалгоритмработысфайлом
свопинга.Разницаобъясняетсятемчтоприналичииключа
(свопингвстилеWin-95)выделениеместавфайлепроизводится
померенеобходимости,априотсутствииключа(свопингвстиле
Win-98)Windowsзаранеерезервируетместовфайлесвопинга
(около4Mb,еслинеошибаюсь)длякаждойзадачи.Приэтом
реальнаязаписьвswap-файлнепроизводитсяидополнительных
обращенийкдискунет.
Таккаквсе-такиоптимальнонастроитьфайл
подкачки?
ЕслиуВаснескольковинчестеров(не
разделов,аименновинчестеров),тоустановкафайлаподкачки
надругойвинт,чемустановленаоперационнаясистема,обычно
значительноускоряетбыстродействие.
ЕслиуВаснесколько
винчестеров-тофайлподкачкиставитсянасамыйбыстрыйиз
них.
ЕслиуВаснесколькоразделовнавинте,тофайл
подкачкинадоставитьнасамыйпервыйизних-физически
расположенныйсамымпервым,таккакдоступкэтимобластям
винтанаиболеебыстрый.
Целесообразноограничить
минимальныйобъемфайлаподкачки,чтобпредотвратитьизлишнюю
егофрагментациюпримернообъемом1-1.5объемавашей
оперативнойпамяти(впрочемеслиВыпользуетеграфикуили
напрягаетекомпьютерсерверамибазданныхтоможнопоставить
размером2-3объемаRAM).
Практическинеимеетрезона
ограничиватьмаксимальныйобъем,таккакэтоможетпривестик
сбоюпрограммиз-занехваткипамяти,аеслиужиограничивать,тоникак
неменьшечем4объемаRAM.
Послеэтихнастроек
компьютернадоперезагрузитьизапуститькакой-нибудь
дефрагментатор(типаNortonSpeedDisk)чтобполностью
дефрагментироватьфайлподкачкиипоместитьеговначало
раздела.
Ипоследнее,помните,чтопослевыключения
компьютерафайлподкачкиможетсодержатьВашипароли,логины,
остаткиВашейконфиденциальнойинформацииит.п.,такчто
достаточно"образованныедяди"изчислаВашихдоброжелателей
иликомпетентныхорганов,загрузившисьвДОСипокопавшисьв
объедкахВашихпрограммвфайлеподкачкимогутнайтиочень
интересныевещи...
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
;хххххх...хххха
;хххххх...ххххb
.......
;xxxxxx...xxxxs
Точкасзапятойвначалестрокиозначаеткомментарийиигнорируется.Так
чтокогдабудетевноситьизменения,навсякийслучайстарыезаписине
удаляйте,акомментируйте.Тогдавамнебудетмучительнобольно,если
что-тополучитсянетак,инепридетсявспоминать,чтожевытамудалили.
Ну,послетакойдлиннойвводнойчасти,пожалуй,можноперейти
непосредственнокрассказуопараметрахэтогофайла.Всепараметры
разбитынадвараздела:[Paths]и[Options].Впервомразделерасположены
параметры,указывающиепути,необходимыедлязагрузки,вовторомпараметры,непосредственноуправляющиезагрузкой.
[Paths]
WinDir-путь,кудабылустановленWindows.
WinBootDir-путьккаталогусфайлами,необходимымидлязагрузки.В
общемслучаезначениеэтогопараметраиWinDirсовпадают.
HostWinBootDrv-диск,скоторогопроизводитсязагрузка.В99%этодиск
"С".
UninstallDir-этотпараметрприсутствуеттольковтомслучае,есливы
устанавливалиОСповерхдругой,ссохранениемпредыдущейверсии.В
качествезначенияпрописанпутькфайламW9xundo.datиW9xundo.ini,
необходимымдлядеинсталляцииWindows.
[Options]
BootMulti-еслиравно1(жирнымвыделенозначениепоумолчанию),то
вовремязагрузки,когдапоявляетсянадпись"ИдетзагрузкаWindows9x",
позволяетнажатьF4изагрузитьпредыдущуюверсиюDOS.0-F4не
сработает.Лучшевыставитьэтозначениеравным0,всеравновыне
пользуетесьэтойвозможностью,осистемаждетнесколькосекунднажатия
этойклавиши.
BootGUI-1-загрузкаWindowsсграфическойоболочкой.0-призагрузке
попадетевDOS.Еслинадозагрузитьграфическийинтерфейспользователя
(GUI),надоввестикомандуwin(запуститьфайлwin.comвкаталоге
Windows).
DoubleBuffer-1-разрешаетдвойнуюбуферизациюдляSCSIконтроллеров.0-соответственно,запрещает.ЕслиSCSI-контроллеранет,
лучшевыставитьзначение0.
Autoscan-управляетповедениемScanDisk'aвовремязагрузкипри
некорректномвыходеизWindows:0-блокируетзапускScanDisk;1запускаетScanDisk,суведомлениемоначалепроверки;2-запускает
ScanDiskавтоматическибезвсякихуведомлений.Стоитотключатьилинет,
решатьвам.Еслихотитеперестраховаться,тонеотключайте(лучше
выставить2,чтобынеждалонажатиякнопкидляначаласканирования),
всемостальнымрекомендуюотключить.
WinVer-изназваниянесложнодогадаться,чтовкачествезначения
прописанаверсияWindows.
BootKeys-1-разрешаетпользоватьсяпризагрузкеуправляющими
клавишами(F5,F8ит.д.).0-запрещает.
BootDelay-устанавливаетзадержкувсекундахпризагрузке,втечение
которойсистемаожидаетнажатияуправляющихзагрузкойклавиш(F5,F8
ит.д.).Поумолчаниюустановленозначение2.
BootMenuDefault-устанавливает,какойпунктвзагрузочномменю,
вызываемомпоF8,будетвыбранпоумолчаниюпоистечении
установленноговремени.Значениепоумолчанию-3длякомпьютеровбез
сетевыхкомпоненти4длясетевыхкомпьютеров.
BootMenuDelay-время,втечениекоторогокомпьютерждетвыбораиз
загрузочногоменю.Поумолчаниюэто30секунд.Есливпериодожидания
былвыбрандругойпунктменю,счетчикисчезаетикомпьютерожидает
нажатиянаEnterдляпродолжениязагрузки.
BootMenu-1-прикаждойзагрузкеWindows,появляетсязагрузочное
меню.0-соответственно,непоявляется.
BootSave-1-каждыйразпризагрузкеWindowsстартуетвSafeMode.0Windowsстартуетнормально.
BootWarn-1-разрешаетпредупреждениеозагрузкевSafeMode.0запрещает.
BootWin-1-призагрузкебудетзагружатьсяWindows.0-загрузка
предыдущейверсииDOS.
Logo-1-вовремязагрузкибудетпоказанрисунокслоготипомWindows.0
-запрещаетвыводзаставкипризагрузке.Есливамнадоелаэтазаставка,ты
выможетеотключитьеевывод.Такжеможнозаменитьэтузаставкусвоей.
Стандартнаякартинка"зашита"вфайлеio.sys,новыможетесоздатьв
корнезагрузочногодискафайлlogo.sysионбудетиметьпреимущество
передio.sys.Болееподробнообэтомнаписановодномизсоветов
"Народноймудрости"от13.11.01.
DblSpace-1-разрешаетавтоматическуюзагрузкуDblspace.bin.0запрещаетзагрузкуDblspace.bin.Есливынепользуетесьсжатымидисками,
отключитеэтотпараметр,какиследующийзаним(такувасвысвободится
лишняяоперативнаяпамять,котораяникогдалишнейнебывает).
DrvSpace-1-разрешаетавтоматическуюзагрузкуDrvspace.bin.0запрещаетзагрузкуDrvspace.bin.
LoadTop-1-разрешаетзагрузкуCommand.comиDrvspace.binвверхнюю
память.0-запрещает.Этолучшенеменять.
NetWork-1-показываетпункт"SafeModeWithNetworking"в
загрузочногоменю.Приотсутствиисетевойподдержкидолжнобыть
установленов0.
DisableLog-0-созданиелог-файлазагрузкиWindows(bootlog.txtскрытыйфайлвкорневомкаталогесистемногодиска).1-лог-файлне
создается.Еслиувасвозникаютпроблемывовремязагрузки,включите
созданиелог-файлаипосмотрите,чтоувасвыдаст.Возможно,этопоможет
устранитьпроблемы.
Файлmsdos.sysнечувствителенкрегиструбукв,такчтозаписи"Logo"и
"logo"эквивалентны.
Главное,помнитеодноправило:передтем,какизменятьчто-товфайле,
создайтерезервнуюкопию.Предосторожностилишниминикогдане
бывают,затоэтоможетсохранитьмножествовремениинервов,есличтотопойдетнетак(правда,испортитьчто-либоокончательноибесповоротно
вамнеудастся,такчтоэкспериментируйтесмело).
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
УскорениезагрузкиWindows,программ,
устранениеошибок
Замечалиливыкогда-нибудьтакуютенденцию:чемдольшевыработаете
накомпьютеребезпереустановкиWindows,тембольшеначинают
тормозитьпрограммы,дольшеидетпроцессзагрузки,количествоошибок
возрастаетлавинообразно.Некоторыегорячиеголовысразуначинают
переустанавливатьсистему(асамыеодаренныеприэтомещеи
форматируютвинт).Послепереустановкивсеначинаетгрузитьсяи
работатьоченьбыстро,ночерезпарумесяцевситуацияповторяется.Опять
всепереустанавливать?Этоневыход.Развначалевсеработаетбыстро,
значит,что-товсистемеизменяется,заставляяееработатьмедленнее.А
чтоможносделать,чтобытакихизмененийнебылоиликаквернутьвсе
назадбезпереустановки?
Давайтепойдемвобратномпорядке,т.е.определимследствие,найдем
причинуипопробуемееустранить.Итак,наиболеечастыепроблемыпри
работе:
-медленнаязагрузкакомпьютера;
-замедлениеработыпрограмм;
-частыесообщенияонедопустимыхошибках.
Медленнаязагрузка.
Наэтоможетповлиятьбольшоеколичествопричин.Изначальноможно
попробоватьускоритьпроцесс,поигравпараметрамифайлаmsdos.sys,
описаниекоторыхдановстатье"Параметрыфайлаmsdos.sys".Ноэто
постояннаяпричина,котораянезависитоттого,скольковременипрошлос
моментаустановкисистемы(даинесамаявесомая).Основноевлияние
оказываетраздувшийсяреестризапускаемыепризагрузкеWindows
программы.
Поканезагрузятсявсепрограммыизавтозагрузки,нормальноработатьне
удается,такчтоихсмеломожновключитьвпроцессзагрузки
операционки.Ктомужеонисильносказываютсяназамедленииработы
всехпрограмм(втораянеприятностьизсписка),т.к.отъедаютчасть
оперативки.Задумайтесь,вселионивамнужны?Уверенна100%,чтохотя
быпару-тройкулишнихпрограммвынайдете.Безжалостноудаляйтеих(в
смысленесамипрограммы,они-тоещемогутпригодиться,аиз
автозагрузки).Гдепосмотреть,чтоувасгрузится?Обэтомужебыла
статья.Простократкоперечислюосновныеместа:реестр(раздел
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current
Version\вподразделах,гдепервымсловомидетRunираздел
HKEY_CURRENT_USER),win.ini,system.ini,Пуск->Программы->
Автозагрузка.
Здорововлияетнадлительностьзагрузкиразмерреестра.Чемонбольше,
теммедленнеезагружаетсякомпьютер.Апроисходитэтопотойпростой
причине,чтокаждыйразидетпроверкареестрананаличиеошибок.Если
таковыхнеобнаружено,создаетсярезервнаякопия.Наразмерфайлов
реестранапрямуювлияетколичествоустановленныхпрограмм.Можно
удалитьвесьненужныйсофт,ноэтоневыход.Большаячастьразмера
уходитназаписи,оставшиесяотужеудаленныхпрограмм.Радиинтереса
посмотритеразделHKLM\Software.Навернякавынайдететамзаписи
оставшиесяотранеестоявшихпрограмм.Можнопопробоватьудалитьих
всевручную,ногдегарантия,чтовынайдетевсеоставшиеся"хвосты"?
Лучшедляэтихцелейиспользоватьспециальныепрограммы.Парочкаих
былаописанаранее.ЭтоRegCleanerиNBGCleanRegisrty.Ужавразмер
реестраможнодобитьсязначительногоувеличенияскоростизагрузки.
Замедлениеработыпрограмм.
Опятьже,возможнонесколькопричин.Несекрет,чтонедостаток
оперативкиведеткболеемедленнойработепрограмм.Аоперативкимного
никогданебывает.Чембольшепрограммзапущеноодновременно,тем
медленнеебудутониработать.Каждойпрограммедляработынеобходим
определенныйобъемоперативнойпамяти,которыйонаберетизобщего
объема.Когдасуммарныйобъемтакихкусочковпревыситфизический
размероперативки,начнетсятакназываемоесвопирование,т.е.часть
данныхизоперативкибудетзаписананажесткийдисквфайлwin386.swp
(дляWin9x)илиpagefile.sys(NT,2000).Записыватьсябудутвпервую
очередьтеданные,ккоторымрежевсегообращаются.Насамомделеэтот
процессгораздосложнее,нопримернаясутьименнотакова.Когда
становятсянеобходимыданные,записанныенажесткийдиск,ониоттуда
считываются,но,каквыпонимаете,доступкданнымнадискепроисходит
гораздодольше,чемкданнымизоперативки,поэтомуинаблюдаетсяэто
жуткоеторможение,даещеивинттрещитнемилосердно.Следовательно,
чтобывсеработалошустрее,надовысвободитькакможнобольше
оперативки.Впервуюочередьстоитвыгрузитьлишниепрограммы,очемя
уженаписалвыше.Затемоптимизироватьзагрузкудрайверов(статья
"Оптимизацияпамяти").Такженерекомендуетсяиспользоватьбольшуюпо
объемукартинкувкачествеобоевнаРабочемстоле,т.к.онатожезанимает
местовпамяти.
Однойизнемаловажныхпричинявляетсявысокаяфрагментацияфайловна
диске.Еслиувасфайлразбитнанесколькокусочков,которыеразбросаны
повсемудиску,тозагружатьсяонбудетгораздодольше,потомучто
помимопростогочтенияфайланадобудетещенесколькораз
позиционироватьсчитывающуюголовку,аэтотребуетзаметных
временныхзатрат.Поэтомужелательноприинтенсивнойработесжестким
диском(частаязаписьиудалениефайлов)времяотвременипроводить
дефрагментацию.
Участившиесяошибкиисбои.
Часто,когдаустанавливаетсяноваяпрограмма,вкаталогWindows
кидаютсяфайлы(библиотеки)необходимыедляработыэтойпрограммы.
Вносятсяисправлениявреестр,настройкисистемы.И,ксожалению,
иногдаэтиизменениямогутвызыватьсбоивработеОС.Иногда
заменяютсястандартныефайлыбиблиотексобственнымиили
устаревшимиверсиями.Этотоженелучшимобразомсказываетсяна
работе.Ну,аеслипоследеинсталляцииэтибиблиотекибудутудалены,
последствиямогутбытьнепредсказуемыми.Янепризываюотказатьсяот
установкиновогософта,простоэтимнадозаниматьсясумом,особенно,
есливылюбитепоэкспериментировать.Существуютутилиты,призванные
устранитьпоследствия"кривой"установкиилидеинсталляциипрограммы.
Описаниеихвыходитзарамкиданнойстатьи(возможно,когда-нибудь
такойматериалпоявитсянасайте),нонаводкудатьмогу:весьманеплохой
программкойсчитаетсяProfessionalUninstaller.Найтиееможнобез
проблемвлюбомпоисковике.Такжеестьпрограммы,способныеоткатить
всеизменениявсистемедоконтрольнойточки,ноэтоскореепригодится
дляисследователейновогософта.
ЕщеможновоспользоватьсясоветомIPWarrior'aот18.10.01в"Народной
мудрости"(http://www.whatis.ru/reg/nd_w98.shtml).Онкакразпригодится,
чтобыисследоватькакую-тоновуюнеизвестнуюпрограммку,аглавноевы
будетеуверены,чтоничегонеприятногоссистемнымифайламине
произойдет.
Аглавное,попытайтесьопределить,послечегоуваспосыпалисьошибки.
Какправило,напустомместеонинепроисходят-этомупредшествует
либоустановкакакой-топрограммы,либоудаление.Ну,а,поняв,что
повлеклосбоивработе,устранитьихгораздопроще.
Ипомните-переустановкасистемы-этопоследнийшаг,накоторыйнадо
идтитольковтомслучае,когдавседругиеметодысебяисчерпали.
Windowsспособеннормальноработатьнескольколет.Любитеего,ион
ответитвамвзаимностью;).
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
Настройкаиоптимизациямодемногосоединения
ОченьважныммоментомвнастройкеWindowsявляетсяоптимизация
соединениясИнтернет.Ведьоткачествасвязинапрямуюзависитвремя,
проведенноевамивсетиисоответственнозатратыденегнаэто.Можно
попытатьсянастроитьсоединениенаилучшимобразом,сминимальными
потерямиданных.Прежде,чемприступитькредактированиюреестра,
надоузнатьнесколькоспециальныхтерминовиуяснитьсоотношения
междуними.
MTU
Этомаксимальныйразмерпакетаданных,которыйможетбытьпереданза
одинфизическийкадрпопротоколуTCP/IP.Деловтом,чтоданныеот
компьютераккомпьютерувИнтернетеидутнесплошнымпотоком,аэтими
самымикадрами-пакетамистрогоопределенногоразмера.Еслибывсе
компанииифирмы,имеющиехотькакое-тоотношениекИнтернету,
договорилисьоединомстандартенаразмерэтихпакетов,томыбы
использоваликаждыйтакойкадрпомаксимуму,полностьюзаполняя
каналыпередачиданныхсвоимибитами.Однакоэтонетак.Малотого,что
приустановкеновогосоединениядваудаленныхкомпьютерадолжны
согласоватьмеждусобойразмеркадра,такещеипопутикместу
назначенияпакетпреодолеваетцелыйрядпромежуточныхсерверови
маршрутизаторов,настройкиMTUкоторыхмогутбытьсовершенно
различными.Приэтомслишкомбольшойпакетвпути,скореевсего,будет
фрагментироватьсяизаполняться"воздухом","балластом",чтонегативно
скажетсянаэффективностисвязи.Так,есливашпровайдеримеет
установкиMTU=576,аувасвWindowsзаданоMTU=1500,токаждыйваш
пакетбудетимразбиватьсянатрипо576байт:576+576+576=1728-тоесть
228байтбалластабудутдобавлятьсяккаждомувашемупакету.Нодаже
еслипровайдертожепоставилусебяMTU=1500,топрисвязисудаленным
серверомвполнеможетпопастьсямаршрутизаторсменьшимзначением
MTUипакетыопять-такибудутфрагментироваться,замедляяпередачу
данных.
Такженельзязабывать,чтовпроцессеприемапакетаможетпроизойти
сбой,тогдапакетпридетсяприниматьзаново.Казалосьбы,чточемменьше
пакет,темлучше,новкаждомпакетеприсутствует40байтслужебной
информации(обэтомниже),т.е.вамприходитсяприниматьлишниебайты,
чтонеестьхорошо.Исходяизэтихсоображений,можнопорекомендовать
выставлятьмаксимальноезначение(1500)тем,укогохорошеекачество
связи,чтопозволитизбежатьполучениялишнейслужебнойинформации.
Длятех,укогокачествосвязиоставляетжелатьлучшего,ичасто
происходятпотерипакетов,можнопорекомендоватьвыставлятьзначение
MTUпоминимому.Влюбомслучае,лучшеэтозначениеподобрать
экспериментально,выставляяегоипроверяяскоростьработы.
MSS
Каждыйпакетданныхвдействительностисостоитизнескольких
сегментов-несколькихзаголовковифактическихданных.Таегочасть,в
которойсодержатсятолькофактическиеданные,называетсяMSS
(MaximumSegmentSize)-этоещеодинпараметрпротоколаTCP,
определяющийсамыйбольшойсегментданныхTCP,которыемогутбыть
переданызаодинраз.Тоесть,MTU=MSS+заголовкиTCP/IP.Для
заголовкатожеимеетсяобщепринятыйразмер-это40байт(20байтIPи20
байтTCP),следовательно,обычноMSS=MTU-40.Поэтойпричинев
определенииоптимальногоразмераMTUестьнекоторыетонкости.
RWIN
RWIN(receivewindow,окноприема)-размербуфера,вкотором
накапливаетсясодержимоеобластиданных(MSS)несколькихполученных
пакетов,преждечемпередаетсядальше,например,вбраузер.При
недостаточномразмереэтогобуфераиногдапроисходитегопереполнение,
ипоступающиепакетыотвергаютсяитеряются.РазмерRWINобязательно
долженбытькратенMSSиобычнодлялучшейэффективностимодемного
соединениякратностьрекомендуетсяустанавливатьравной4-8.Однако
чрезмернобольшойразмербуфератакженежелателен,особеннонаплохих
линиях-припотеревсегоодногопакетавслучаесбояналиниибудет
повторнозатребованнеодинпотерянныйпакет,авсепакетыизэтого
буфера,чтозайметнекотороевремя.
TTL
TTL(timetolive,времяжизни)-количествохопов,тоестьпромежуточных
серверов,черезкоторыеможетпройтивашпакетвпоискахсвоегоместа
назначения.Каждыйтакойсервердобавляетединицукспециальному
счетчикувзаголовкевашегопакета,и,когдасчетчикдостигает
максимальноразрешенногозначения,пакетсчитаетсязаблудившимсяи
прекращаетсвоесуществование.ПоумолчаниюTTLравен32,чтосегодня
явнонедостаточнодляразросшегосяИнтернета:нередкислучаи,когда
удаленныйсервернаходитсяболеечемв32переходах,поэтомуTTL
следуетувеличитькакминимумдо64.
NDICache
NDICache(NetworkDeviceInterfaceCache)-кэш,вкоторомхранятся
данныеомаршрутахдвиженияпакетов,поумолчаниюегоразмерравен
нулю.Чтобыегозадействоватьнаиболееоптимально,необходимо
установитьегоразмерравным16примодемномсоединенииили32при
болеескоростныхподключениях.
Пожалуй,пораприступатькнастройкам.Частьданныххранитсявветви
HKEY_LOCAL_MACHINEвразделе
System\CurrentControlSet\Services\Class\NetTrans\0000.Здесь0000-номер
профиля(ихможетбытьнесколько,например,0001,0002,...).Значение
MTUвыставляетсяспомощьюстроковогоключаMaxMTU(1500,1002,
576,552).
Длянастройкиследующихпараметровоткройтераздел
System\CurrentControlSet\Services\VxD\MSTCP.ЗначениеMSS
устанавливаетсястроковымключомDefaultMSS:егозначениеравно
MaxMTU-40.
RWINнастраиваетсявстроковомключеDefaultRcvWindow.
Поэкспериментируйтесэтимзначением,нопомните,чтоонодолжнобыть
кратноMSS(MSS*4илиMSS*8).
TTLнастраиваетсяспомощьюстроковогоключаDefaultTTL.
ВыможетеразрешитьWindowsсамойопределятьоптимальноезначение
MTU.
Еслиопциявключена,тоWindowsсамаподбираетоптимальноезначение
MTU,однакопроцедуравычисленияMTUдлякаждогосоединениятребует
немаловремени,чточутьтормозитработупризакачкенебольшихфайлов
ивеб-серфинге.Дляустановкиэтогопараметрадобавьтестроковыйключ
PMTUDiscovery.Значение"1"включаетего,"0"-выключает.
Обнаружениечерныхдыр.Установкаэтогопараметраразрешаетпротоколу
TCPпытатьсяобнаружитьникуданеведущиероутерыите,чтоне
возвращаютICMP-сообщенийонеобходимостифрагментациипри
определениинаилучшегоMTU.Этотакже,какилюбаядополнительная
процедура,можетзамедлятьработувИнтернете-попробуйте
поэкспериментироватьсееотключением.Дляэтогодобавьтестроковый
ключPMTUBlackHoleDetectсозначением"1"длявключенияи"0"для
выключения.
ДлянастройкиNDICacheоткройтераздел
System\CurrentControlSet\Services\VxD\NWLink\Ndi\params\cachesizeив
значениипоумолчаниюпропишитенужноечисло(16или32).
Выможетеувеличитьколичествоодновременныхподключенийксерверу,
включивэтуопцию,чточастобываетвесьмаполезно,спомощьюDWORD
ключейMaxConnectionsPer1_0Server(установитеегозначениев10)и
MaxConnectionsPerServer(прировнятьк8).Этиключинадодобавитьв
раздел
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet
Settings.Удалениеихприведеткотключениювозможности.
Всенастройкивступаютвсилупослеперезагрузкикомпьютера.
Поэкспериментируйтесразличнымизначениями,ивысможетеувеличить
скоростьподключенияна20-40%.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
REGEDIT4
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000]
"IPAddress"="192.168.1.111"
"IPMask"="255.255.255.0"
"DefaultGateway"="192.168.1.100"
"DriverDesc"="TCP/IP"
"InfSection"="MSTCP.ndi"
"DeviceVxDs"="vtdi.386,vip.386,vtcp.386,vdhcp.386"
"InstallVnbt"="0"
"InfPath"="NETTRANS.INF"
"ProviderName"="Microsoft"
"DriverDate"="4-23-1999"
"DevLoader"="*ndis"
"NodeType"="1"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\Ndi]
"DeviceID"="MSTCP"
"MaxInstance"="8"
"NdiInstaller"="mstcp.dll,TcpNdiProc"
"HelpText"="TCP/IPistheprotocolyouusetoconnecttotheInternetandwideareanetworks."
"InstallInf"=""
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\Ndi\I
"DefUpper"="netbios,tdi,winsock"
"DefLower"="ndis2,ndis3,odi,ndisatm"
"UpperRange"="netbios,tdi,winsock"
"LowerRange"="ndis2,ndis3,odi,broadcastip,ndisatm"
"Upper"="netbios,tdi,winsock"
"Lower"="ndis2,ndis3,odi,ndisatm"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\Ndi\C
"ExcludeAll"="FTPTCP96,NMNDIS3,NEWTNDIS,NEWTODI,NEWTDIAL,MULTINET"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\Ndi\I
@="MSTCP.Install"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\Ndi\R
@="MSTCP.Remove"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\Ndi\p
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\Ndi\p
"location"="System\\CurrentControlSet\\Services\\Vxd\\MSTCP"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\Ndi\D
@="True"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\NDIS
"LogDriverName"="MSTCP"
"MajorNdisVersion"=hex:03
"MinorNdisVersion"=hex:0a
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP]
"LMHostFile"="C:\\WINDOWS\\lmhosts"
"LocalCopyMade"="1"
"EnableDNS"="1"
"Lanabase"="0"
"EnableRouting"="0"
"HostName"="imya_compa"
"Domain"="cool.domen.ru"
"SearchList"=""
"NameServer"="192.168.1.100,192.168.1.200"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP\Ndi]
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP\Ndi\params]
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP\Ndi\params\
"ParamDesc"="РазрешитьпривязкукATM"
"default"="0"
"type"="enum"
@="0"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP\Ndi\params\
"0"="Нет"
"1"="Да"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP\Ndi\ATMDe
"ARPServerList"="4700790001020000000000000000A03E00000200"
"MARServerList"="4700790001020000000000000000A03E00000200"
"SapSelector"=hex:01,00,00,00
"MTU"=hex:dc,23,00,00
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP\Parameters]
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP\Parameters\W
"MaxSockAddrLength"=hex:10,00,00,00
"MinSockAddrLength"=hex:10,00,00,00
"HelperDllName"="%windir%\\system\\wsock32.dll"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP\ServiceProv
"LocalPriority"=hex:f3,01,00,00
"HostsPriority"=hex:f4,01,00,00
"DnsPriority"=hex:d0,07,00,00
"NetbtPriority"=hex:d1,07,00,00
"Class"=hex:08,00,00,00
"ProviderPath"="%windir%\\system\\wsock32.dll"
Длякраткостикусочек
"HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\"вназвании
разделаябудуопускать,т.к.длявсехразделовонвсеравноодинаковый.
СперванасинтересуетразделClass\NetTrans\0000,аточнеепараметры
"IPAddress","IPMask","DefaultGateway".Если"IPMask"вамменятьврядли
придется,товотдваостальныхпараметраизменитьнадо."IPAddress"
соответствуетполюIP-адресодноименнойвкладкивсвойствахпротокола
TCP/IP,а"DefaultGateway"установленномушлюзунавкладке"Шлюз".
Еслиихнесколько,тоонидолжныперечислятьсячереззапятую.Также
проверьте,чтобызначениепараметра"DriverDate"соответствовало
установленномуувасдрайверу(достаточноразнастроитьвсевручнуюи
посмотретьвреестреегозначение).
ВразделеClass\NetTrans\0000\Ndiвпараметре"HelpText"задаетсятекст,
которыйпоявляетсявразделе"Описание"привыделениипротоколаTCP/IP
навкладке"Конфигурация"всвойствахсетевогоокружения.Можете
добавитьтамстрогоепредупреждениепользователямозапрете
редактированиянастроек.
ТеперьобратимсякподразделуVxD\MSTCP.ЕслиувасприсутствуетDNS,
топараметр"EnableDNS"долженбытьравен"1"(строковоезначение).
АдресаDNSперечисляютсявпараметре"NameServer".Еслиихнесколько
(каквпримере),тонадоперечислитьихчереззапятую.Имякомпьютераи
домензадаютсявпараметрах"HostName"и"Domain"соответственно(они
задаютсятолькоеслиувасприсутствуетDNS).ЕслиувасWindows
установленневдиректориюпоумолчанию,тотакжепридетсяподправить
путьвпараметре"LMHostFile".
Вотсобственноивсе.Остальныенастройкилучшенетрогать,т.к.они
одинаковыдляразныхкомпьютеров.Кстати,вовсенеобязательно
импортироватьэтотфайлцеликом.Еслиувасужебылиодинраз
настроенывсесвойства,тодостаточнодобавлятьтолькоизменяемые
параметры,которыеяописалвыше.
Послетого,каквыимпортируетеданныевреестр,компьютернадо
перезагрузитьдлятого,чтобынастройкивступиливсилу.Напоследок
скажу,чтовсеэтоуменяпрекрасноработаетиздоровооблегчаетжизнь.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
УскорениеработысИнтернетом
Авторстатьи:СергейТрошин
e-mail:stnvidnoye@chat.ru
http://stnvidnoye.chat.ru/
Этаинформацияоченьхорошодополняетматериалыизложенныеранеев
статье"Настройкаиоптимизациямодемногосоединения".
Поумолчанию,Виндыненастроеныподсовременныекомпьютерыс
новымимодемами,поэтомунеобходимоизменитьвручнуюнекоторые
параметры.ПросмотритесодержимоефайловWIN.INI,SYSTEM.INI-в
нихможнокое-чтоподправить.Например,вфайлеWIN.INI-выставить
скоростьпортов:
вразделе[Ports]прописать
COM1:=921600,n,8,1,p
COM2:=921600,n,8,1,p
COM3:=921600,n,8,1,p
COM4:=921600,n,8,1,p
ВSYSTEM.INIможнодописатьвсекцию[386Enh]параметрыдляпортов
COMBoostTime=1
COM2Buffer=1024
Этипараметрыувеличиваютбыстродействиепортовиразмербуфера
очередипорта,ккоторомуподключенмодем.Разныеисточники
рекомендуютустанавливатьпараметрCOM2Buffer(равный,поумолчанию
128байт)от512байтдо16килобайт,нооптимально,помоемумнению
будетот1024байтдо4килобайт,таккакприоченьбольшихзначениях
можетпроизойтиобратныйэффектисвязьухудшится,амалыйразмер
буфера,такжеможетпривестикпотереинформацииприхорошейсвязина
быстрыхлиниях.Нолучшевсегопоэкспериментироватьсразными
значениями,ивыбратьнаиболееподходящеедляконкретногоПКимодема.
ЕсливыподключеныкИнтернету,топроверьтенастройкивашего
соединения.Вменюсвойствсоединенияспровайдеромнавкладке"Тип
Сервера"отключитевходвсетьинеиспользуемыепротоколы,оставив
толькоTCP/IP(есливынеподключеныклокальнойсети).Вменюсвойств
модеманастраничке"Дополнительно"поставьтефлажки"UseError
control","CompressData","UseFlowcontrol"-"Hardware"иотключите
протоколированиепроцессасоединения,анавкладке"Соединение""Настройкипорта"установитедвижки,регулирующиеразмерФИФОбуферов,вмаксимальноправоеположение.
Скоростьпортаназакладке"Общие"тоженадовыставитьвмаксимум,
обычноэто115200битвсекунду,однакоможносделатьтак,чтопоявится
возможностьвыборавплотьдо921600.Гарантии,правда,чтовашмодем
сможетработатьстакойнастройкойпортанет(внутреннийдаже,скорее
всегонезаработает),поэтомуещеразнапоминаю:зарезервируйтереестр,
таккакдляустановкимаксимальновозможнойскоростипридетсяего
редактировать,аошибкивэтомделемогут"обрушить"всюсистему.
СоздайтевБлокнотефайлMODEM921600.REGстакимсодержанием
(постарайтесьбезопечаток-изменениеисходногозначениявыделено
курсивом!):
REGEDIT4
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Modem\0000]
"Properties"=hex:80,01,00,00,ff,00,00,00,ff,00,00,00,07,00,00,00,0f,00,00,00,\
77,07,00,00,00,10,0e,00,00,fa,00,00
Нажавназначкеполученногофайлалевуюкнопкумыши,вывнесетеэту
информациювреестр,послечеговсвойствахмодемапоявятсяещеи
скорости230400,460800,921600битвсекунду.Еслимодемнезаработает,
вернитеськ115200,иливыброситеего(кергуду-шутка).
Теперь,вПанелиуправлениявыберите"Сеть"иоткройтеменюсвойств
Dial-UPAdapter'а,перейдитеназакладку"Advanced"(Дополнительно)и
установитепараметры:
"EnablePointtoPointIP"-YES;
"IPPacketSize"-LARGE;(MTUприэтомбудетравно1500)
"Recordalogfile"-NO;
"UseIPXheadercompression"-NO;
навкладке"DriverType"(Типдрайвера)выберите
"Enhancedmode[32and16bit]NDISdriver"
-этинастройкиещенемногодобавятжизнивашемумодему.
Часто,процессвходавИнтернетускоряетиспользованиескриптов,есливы
неможетесоставитьскриптсами,возьмитеегоувашегопровайдера.
СпомощьюпрограммNetBoost99иiSpeedможноизменитьнекоторые
сетевыепараметры,оптимизируяихподмодемноесоединение(очень
хорошипрограммыInternetTweak2000иMTUSpeed).Приэтом,правда,
оченьжелательнопроконсультироватьсявслужбетехническойподдержки
провайдераобоптимальныхзначенияхпараметров,изменяемыхэтими
программами.РаботувИнтернетепоможетускоритьпрограммаLegion-The
HostMaster,оназаписываетIPадресачастопосещаемыхсерверовв
специальныйфайл,чтосокращаетвремяпоискасерверананесколько
секунд.Аспомощьюсупер-программыATGuardвыизбавитесьотзагрузки
баннеров,скриптов,всплывающихокон,чтоможетускоритьполучение
полезнойинформациивнесколькораз!!!!!!
ЗамедлятьработуIE5можеточеньбольшойкеш(т.н."Временные
интернет-файлы"),размеркоторогозадаетсявпанели"Общие"диалога
"СвойстваИнтернета".Обычно,вполнедостаточноуменьшитьегодо10
мегабайт.
Некоторыенастройки,повышающиеудобствоискоростьработы,можно
вручнуюсделатьвреестре:например,вразделе
[HKEY_LOCAL_MACHINE
\System\CurrentControlSet\Services\Class\Modem\0000\Init]
содержитсяскрытаястрокаинициализациимодема.
Встроке
[HKEY_LOCAL_MACHINE
\System\CurrentControlSet\Services\Class\Modem\0000]
естьпараметрReset,который,обычноравенAT&F1,из-зачегомодем,в
некоторыхпрограммах,можетнабиратьномертоновымнабором,поэтому
еголучшеизменитьнаAT&F1Z,чтобыпослересетамодем
инициализировалсявашимиустановками(конечно,есливызанеслиихв
памятьмодемадлявызовакомандойATZ),анефабричными.
ДляболееточнойподстройкипротоколаTCP/IPиустранениянекоторых
ошибокмелкософтомрекомендуетсядобавитьвреестр:
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP]
"Tcp1323Opts"=dword:00000003
"SackOpts"="1"
"BSDUrgent"="1"
КоличествоодновременныхподключенийксерверуHTTP1.0ограничено
четырьмя,ксерверуHTTP1.1поумолчаниюможетбытьтолькодва
одновременныхподключения.Можноувеличитьэтицифрыдовосьми:
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\InternetSettings
"MaxConnectionsPer1_0Server"=dword:00000008
"MaxConnectionsPerServer"=dword:00000008
НавязшаявзубахбедамодемовSportster(инекоторыхдругих)с
определением(или,скорее,снеопределением)сигнала"ЗАНЯТО",
лечится,насамомделе,оченьлегко:простопосленабораномерадолжна
бытьпаузавпарусекунд-благодаряейколичествоправильнопонятых
сигналов"ЗАНЯТО"возрастаетнапорядок!Длясозданияэтойпаузынадо
посленомеравсвойствахсоединенияспровайдеромпоставитьдве-три
запятых,например:,995-5555,,,-этипаузыпереднаборомномераипосле
негоотсекаютпомехиищелчкипереходныхпроцессовнашихзамшелых
телефонныхлиний,благодарячемуиулучшаетсяработамодема.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
WindowsNT,2000,XP
ЗдесьсобранысведенияпорееструоперационнойсистемыWindows
NT,2000,точнееегоособенностипосравнениюсWindows9х.
ОграничениедоступакнастройкамInternetExplorerКакзапретить
пользователямменятьразличныенастройкивменюСервис->Свойства
обозревателя...
Часть1
Часть2
УстановкаWindows9xповерхNT/2000/XP
Статьядлятех,ктохочетпоставитьWin9xвторойоперационкойине
переустанавливатьприэтом2000/XP.
читатьдальше
Основныекомандыконсоливосстановления
Логичноепродолжениепредыдущейстатьи.Малопоставитьконсоль
восстановления,нужноещенаучитьсяейпользоваться.
читатьдальше
УстанавливаемконсольвосстановленияWindowsXP
Консольвосстановления-этокоманднаястрока,котораяподдерживает
целыйсписоккоманд,которыемогутбытьиспользованыприустранении
неполадоксвашимкомпьютером,когдавашкомпьютерзапускается
некорректноилиженезапускаетсявовсе.
читатьдальше
Настройкаконтекстногоменюфайлов
Дополнительныевозможностипорасширениюконтекстногоменюфайлов
вWindowsXPи2000.
читатьдальше
УстановкаSP1наWindowsXP
НебольшаяинструкцияпоустановкеSP1наWindowsXP.
читатьдальше
ОснасткаMMC
ОписаниеработысутилитойоснасткаMMCдлянастройкиWindows.
читатьдальше
Настройкаменю"Пуск"вWindowsXP
ВWindowsXPпоявилосьгораздобольшепараметровменю"Пуск",
которыеможнонастроить.Онихипойдетречь.
читатьдальше
ОписаниеслужбвWindowsNT/2000/XP
Полныйсписокстандартныхслужбсрекомендациямипоихнастройке.
читатьдальше
ПодборкасоветовпонастройкеиработевWindowsXP
Здесьописанынебольшиесоветыихитростипонастройкенекоторых
возможностейэтойоперационнойсистемы.
читатьдальше
НастройкасвойствсетииоболочкиWindowsNT
Этотматериалоткрываетцелыйциклстатейпонастройкеразличных
параметровоболочкиWindowsNT.
читатьдальше
Особенностиреестра
Встатьеописаныосновныеотличияархитектурареестраоперационных
системWindowsNTи9х.
читатьдальше
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
Особенностиреестра
МатериалданнойстатьибольшейчастьювзятизкнигиГ.Борн"Реестр
Windows98:Пер.сангл."-СПб.:BHV-Санкт-Петербург,2000.
РеестрWindowsNTоченьпохожнареестрWindows9x,носуществуетряд
существенныхотличий,основнымизкоторыхявляетсяорганизация
корневыхразделов.
Хотявокнередакторареестравиднышестьразделов,нореально,раздел
HKEY_DYN_DATAнедоступен.Всеостальныеразделыпосвоейсутине
отличаютсяотаналогичныхвWindows9х(болееподробноонихчитайтев
статье"РедакторRegEditиструктурареестра").
Ещеодносущественноеотличие-вспособехраненияинформации
реестра.ЕсливWindows9xонахранитсявдвухфайлах:SYSTEM.DATи
USER.DAT,товNTинформацияразбитанатакназываемыеульи(hive).
Такоеположениеобусловленопринципиальнымотличиемконцепции
безопасностиэтихоперационныхсистем.Именафайловульевипутик
каталогам,вкоторыхонихранятся,расположенывразделе
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist.В
таблицеданыкраткиеописанияульевреестраифайлов,вкоторыхони
хранятся:
HKEY_LOCAL_MACHINE
СодержитинформациюSAM(Security
\SAM
AccessManager),хранящуюсявфайлах
SAM,SAM.LOG,SAM.SAVвпапке
\%Systemroot%\System32\Config.
HKEY_LOCAL_MACHINE
Содержитинформациюбезопасностив
\SECURITY
файлахSECURITY,SECURITY.LOG,
SECURITY.SAVвпапке
\%Systemroot%\System32\Config.
HKEY_LOCAL_MACHINE
Содержитинформациюопрограммном
\SOFTWARE
обеспечении.Этаинформацияхранитсяв
файлахSOFTWARE,SOFTWARE.LOG,
SOFTWARE.SAVвпапке
\%Systemroot%\System32\Config.
HKEY_LOCAL_MACHINE
Содержитинформациюобаппаратных
\SYSTEM
профиляхэтогоподраздела.Информация
хранитсявфайлахSYSTEM,SYSTEM.LOG,
SYSTEM.SAVвпапке
\%Systemroot%\System32\Config.
HKEY_CURRENT_CONFIG
СодержитинформациюоподразделеSystem
этогоулья,котораяхранитсявфайлах
SYSTEM.SAVиSYSTEM.ALTвпапке
\%Systemroot%\System32\Config.
HKEY_USERS\.DEFAULT
Содержитинформацию,котораябудет
использоватьсядлясозданияпрофилянового
пользователя,впервыерегистрирующегосяв
системе.Информацияхранитсявфайлах
DEFAULT,DEFAULT.LOG,DEFAULT.SAVв
папке\%Systemroot%\System32\Config.
HKEY_CURRENT_USER
Содержитинформациюопользователе,
зарегистрированномвсистеменатекущий
момент.Этаинформацияхранитсявфайлах
NTUSER.DATиNTUSER.DAT.LOG,
расположенныхвкаталоге
\%Systemroot%\Profiles\Username,где
Username-имяпользователя,
зарегистрированноговсистеменаданный
момент.
ПомимоэтихизмененийвреестреWindowsNTдобавилисьновыетипы
данных.ДляработысниминадозапускатьредакторREGEDT32.EXE.
Добавленыданныетипа
REG_EXPAND_SZ-расширяемыестрокиданных.Такиестрокисодержат
переменные,которыемогутрасширятьсяпривызовеприложения.
Например,встрокусэтимтипомданныхможновставитьпеременную
%Systemroot%,иэтапеременнаябудетзамещатьсяименемкаталога,в
которомустановленаоперационнаясистема.
REG_MULTI_SZ-многострочныеполя,состоящиеизстрок,отделенных
друготдругасимволамиNULL.
ВоткороткооботличияхреестраWindowsNTи9х.Приработесним
следуетпомнить,чтомногиематериалыпонастройкеоболочки
операционнойсистемы,изложенныенаэтомсайте,справедливыкакдля
Windows9x,такидляNT.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
Настройкасвойствсети,оболочкиWindowsNT
Предложенныйвашемувниманиюматериалоткрываетциклстатей,
посвященныхнастройкеразличныхпараметровиэлементовWindows
NT,2000.Информациядлястатьивзятассайтаhttp://registry.hoha.ru,
авторомкоторогоявляетсяВаскецовСергей,сеголюбезногоразрешения,
инемногопереработана,сцельюсделатьееболеепонятнойдля
малоподготовленныхпользователей,неоченьхорошовладеющихэтой
операционнойсистемой.
Иначнеммырассмотрениенастроек,пожалуй,ссамойважнойтемы,от
которойзависитбезопасностьработысоперационнойсистемой:настройки
различныхпараметровиустановокработывсети.Рассматриваемые
настройкихранятсявветвиHKEY_LOCAL_MACHINEреестра.Вэтой
ветвинадооткрытьраздел
Software\Microsoft\Windows\CurrentVersion\Policies\Network.Дляначала
условимсяонекоторыхкритерияхработы:всеключиимеюттипDWORD,
еслиэтонеобговореноотдельно;значениеключаравное1включает
даннуюопцию,0выключает,еслиэтонеобговореноотдельно.Отмечу,что
рассматриватьсяразличныенастройкибудутпоихместорасположениюв
реестре(т.е.приводятсясведенияоключах,расположенныхводном
разделе).
Длязапрещениякэшированияпаролейкразличнымресурсамвсети
служитключDisablePwdCaching.Есливыопасаетесьзасвою
безопасностьинехотите,чтобывашаинформациясталадоступнавсем
подряд,толучшевыставитьзначениеэтогоключаравным1.
КлючHideSharePwdsопределяет,показыватьлипароликрасшаренным
ресурсам(имеющимобщийдоступ)открытымтекстомилизаменятьих
звездочками.
Минимальнуюдлинупароляможновыставитьспомощьюдвоичного
(BINARY)ключаMinPwdLen.
КлючNoDialInзапрещаетсоединениеудаленногодоступа.
КлючNoEntireNetworkзапрещаетотображениепапки"Всясеть".
ДлязапрещениядоступакфайламслужитключNoFileSharing,адля
запретауправлениядоступомкфайлам-ключNoFileSharingControl.
ЗапретдоступакпринтерамустанавливаетсяключомNoPrintSharing.
КлючNoPrintSharingControlустанавливаетзапретнауправление
доступомкпринтерам.
Длятогочтобызапретитьперечислениесодержимогорабочейгруппы,надо
установитьзначениеключаNoWorkgroupContentsравным1.
Наэтом,пожалуй,рассмотрениедальнейшихнастроексетивременно
прекращу,иперейдукнастройкамразличныхпараметровоболочки
операционнойсистемырасположенныхвветвиHKEY_CURRENT_USERв
разделеSoftware\Microsoft\Windows\CurrentVersion\Policies\System.Есливы
обратиливниманиенато,чтонастройкипроводятсявветвиHKCU,то
должныпонять,чтоонибудутотноситьсятолькоктекущему
пользователю.Дляустановкиэтихпараметровдлядругихпользователей
надопользоватьсяветвьюHKEY_USERS\Name(здесьName-имянужного
вампользователя).Впрочем,обэтомуженеразупоминалосьранее.
Дляначалазапретимпользователюпоменятьпарольвдиалогевходав
систему.ДляэтогодостаточноустановитьуключаDisableChangePassword
значение1.
Есливыхотитезапретитьблокировкукомпьютеравдиалогевходав
систему,воспользуйтесьключомDisableLockWorkstation.
DisableTaskMgr-запрещаетзапускменеджеразадач.
Всеэтинастройки,конечно,могутпомочьоградитьсистемуотглупых
пользователей,пытающихсявсюдусунутьнос,ноотболееопытных
юзеровэтонеспасет-ведьонимогутточнотакжеоткрытьреестри
поменять1на0.Длятогочтобыонинесмоглиэтогосделать,надо
запретитьзапускредакторовреестраRegeditиRegedt32спомощьюключа
DisableRegistryTools.Однакосамыеумныевсеравносмогутэтообойти,
воспользовавшисьreg-файлом:).
Теперьдавайтепосмотрим,какможноограничитьсвободупользователей
понастройкесвойствэкрана.Длязапретавызовасвойствэкрана
воспользуйтесьключомNoDispCPL.NoDispBackgroundPageзапрещает
вызовстраницысвойствфонадисплея.Запретитьвызовстраницысвойств
хранителяэкранаможноключомNoDispScrSavPage.Длязапретавызова
страницысвойствоформленияэкрананадоприсвоитьзначение1ключу
NoDispAppearancePage.Запретвызовастраницынастроекдисплея
осуществляетсяключомNoDispSettingsPage.
КлючEnableProfileQuotaвключаетограничениепрофилявразмерах.
Вфиналестатьиприведунастройки,запрещающиекоманднуюстрокуMSDOSиRealMode.Дляэтогонадоустановитьв1ключиDisabledи
NoRealModeсоответственновразделе
Software\Microsoft\Windows\CurrentVersion\Policies\WinOldAppветви
HKEY_LOCAL_MACHINE.
Пожалуй,дляначалахватит:).Темаэтаоченьобширна,ивпередибудет
немалостатей,посвященныхнастройкеWindowsNT.Такчто,как
говорится,следитезановостями:).
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
ОграничениедоступакнастройкамInternet
Explorer
Статьянаписананаосновематериала,присланногоДмитрием
Ефимовым
Насайтеестьдовольномногостатей,посвященныхограничениюдоступак
различным настройкам и элементам операционной системы, а настройки
браузера незаслуженно обойдены стороной. Однако тема эта не менее
важна, ведь именно браузер (а в данной статье речь пойдет об Internet
Explorer'e) является окном в большой мир глобальной паутины и именно
черезнегонакомпьютермогутпопадатьразличныевирусы,черви,трояны
и прочие вредоносные программы. Поэтому настройка браузера на
максимальную защиту от внешних факторов является важным элементом
защиты компьютера. Однако, как бы не настроил администратор
программу,всегдавзащитеприсутствуетслабоезвено-пользователь.Вот
наустранениевлиянияэтогослабогозвенаиориентированаданнаястатья,
аименно,речьпойдетобограничениидоступапользователейкразличным
элементамнастройкиInternetExplorer'a.
В Windows есть возможность запретить (разрешить) доступ к свойствам
Internet Explorera (Сервис->Свойства обозревателя). Для этого в разделе
HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet
Explorer\Restrictions надо создать (удалить) строковый параметр
NoBrowserOptionsсозначением"1",однако,невсегдаможнодействовать
так грубо, обрубая доступ ко всем настройкам. Иногда приходится
использоватьнетопорпалача,аскальпельхирурга.Итак,приступим.
Все настройки, описанные ниже были протестированы на Windows XP с
InternetExplorer6,нояневижупричиныпокоторойэтонеработалобы
надругихверсияхWindowsисдругимиверсиямибраузера.
Откройте раздел реестра (или создайте, если его не существует)
HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet
Explorer\ControlPanel.Всенастройки,проводимыевэтомразделе,будут
относитьсякпользователю,подкоторымзагруженаоперационнаясистема
вданныймомент.ВсеописанныепараметрыимеюттипDWORD,значение
1включаетограничение,0-выключает.
AutoConfig - Свойства обозревателя\Подключения\Настройка локальной
сети(LAN)(InternetOptions\Connections\LocalAreaNetwork(LAN)Setting)
- блокирует доступ к изменению Автоматических настроек (Automatic
configuration) CalendarContact - Свойства обозревателя\Программы
(Internet Options\Programs) - блокирует доступ к изменению Календарь
(Calendar) и Адресная книга (Contact list) Certificates - Свойства
обозревателя\Содержание (Internet Options\Content) - блокирует доступ к
кнопке Сертификаты (Certificates) и Издатели (Publishers) CertifPers Свойства обозревателя\Содержание (Internet Options\Content) - блокирует
доступккнопкеСертификатов(Certificates)
CertifPub - Свойства обозревателя\Содержание (Internet Options\Content) блокируетдоступккнопкеИздателей(Publishers)
Check_If_Default - Свойства обозревателя\Программы (Internet
Options\Programs)-блокируетдоступкизменениюпараметров"Проверять,
является ли Internet Explorer используемым по умолчанию обозревателем"
(InternetExplorershouldchecktoseewhetheritisthedefaultbrowser)ColorsСвойства обозревателя\Общие\Цвета... (Internet Options\General\Colors...) блокируетдоступкизменениюпараметровЦвета
Connection Settings - Свойства обозревателя\Подключения (Internet
Options\Connections) - блокирует доступ к изменению параметров
Подключения,кромекнопкиУстановкиновогоподключения
Accessibility - Свойства обозревателя\Общие\Оформление... (Internet
Options\General\Accessibility...)-блокируетдоступкизменениюпараметров
Оформеления (Accessibility) Fonts - Свойства обозревателя\Общие
\Шрифты... (Internet Options\General\Fonts...) - блокирует доступ к
изменению параметров Шрифтов (Fonts) Languages - Свойства
обозревателя\Общие\Языки... (Internet Options\General\Language...) блокирует доступ к изменению параметров Языки (Language) Links Свойства обозревателя\Общие\Цвета... (Internet Options\General\Colors...) блокирует доступ к изменению параметров Цвета на сслыки (Links)
Messaging - Свойства обозревателя\Программы (Internet Options\Programs)
- блокирует доступ к изменению Электронная почта (E-mail), Группы
новостей(Newsgroups)иСвязьпоИнтернету(Internetcall)PrivacySettings
- Свойства обозревателя\Конфиденциальность (Internet Options\Privacy) блокирует доступ к изменению Параметров настройки (Settings) ProfilesСвойства обозревателя\Содержание (Internet Options\Content) - блокирует
доступккнопкеПрофиль(MyProfile)
Proxy - Свойства обозревателя\Подключения\Настройка локальной сети
(LAN) (Internet Options\Connections\Local Area Network (LAN) Setting) блокирует доступ к изменению Прокси-сервер (Proxy server) Ratings Свойства обозревателя\Содержание (Internet Options\Content) - блокирует
доступккнопкамОграничениядоступа(ContentAdvisor)
SecAddSites
-
Свойства
обозревателя\Безопасность
Options\Security)-запрещаетдобавлятьсайтыдляБезопасности
(Internet
SecChangeSettings - Свойства обозревателя\Безопасность (Internet
Options\Security) - блокирует доступ к кнопкам Уровень безопасности для
этой зоны (Security level for this zone) Для простоты настройки ниже
приведен код reg-файла, в котором вам достаточно раскомментировать
нужныестрокииимпортироватьданныевреестр:
REGEDIT4
[HKEY_CURRENT_USER\Software\Policies\Microsoft\InternetExplorer\ControlPanel]
;"AutoConfig"=dword:00000001
;"CalendarContact"=dword:00000001
;"Certificates"=dword:00000001
;"CertifPers"=dword:00000001
;"CertifSite"=dword:00000001
;"CertifPub"=dword:00000001
;"Check_If_Default"=dword:00000001
;"Colors"=dword:00000001
;"ConnectionSettings"=dword:00000001
;"Accessibility"=dword:00000001
;"Fonts"=dword:00000001
;"Languages"=dword:00000001
;"Links"=dword:00000001
;"Messaging"=dword:00000001
;"PrivacySettings"=dword:00000001
;"Profiles"=dword:00000001
;"Proxy"=dword:00000001
;"Ratings"=dword:00000001
;"SecAddSites"=dword:00000001
;"SecChangeSettings"=dword:00000001
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
ОграничениедоступакнастройкамInternet
Explorer2
ЧеботаревИгорь
Статьянаписананаосновематериала,присланногоHardblow
Продолжим тему тонкой настройки Internet Explorer начатой в одной из
предыдущих статей. Если в первой статье основной упор был сделан на
отключение доступа к каким-либо элементам на различных вкладках в
настройкесвойств,товэтотразярешилнемелочитьсяипростоотключить
различные
вкладки.
Итак,
открываем
раздел
HKCU\Software\Policies\Microsoft\Internet Explorer\Control Panel реестра и
добавляемследующиеDWORDпараметры,присвоивимзначение1.
GeneralTab-скрываетвкладку"Общие"всвойствахобозревателя;
SecurityTab-скрываетвкладку"Безопасность";
PrivacyTab-скрываетвкладку"Конфиденциальность";
ContentTab-скрываетвкладку"Содержание";
ConnectionsTab-скрываетвкладку"Подключения";
ProgramsTab-скрываетвкладку"Программы";
AdvancedTab-скрываетвкладку"Дополнительно".
Удаление этих параметров или присваивание им значения 0 делает
соответствующуювкладкувидимой.
Народхлебомнекорми,толькодайчто-нибудьзапретить,поэтомуприведу
еще парочку параметров из этого раздела, позволяющих внести
дополнительныеограничения.
Advanced-запрещаетлюбыеизменениянавкладке"Дополнительно"(при
этомсамавкладкаостаетсядоступной);
Settings - запрещает доступ к настройке параметров временных файлов
(Свойства обозревателя - вкладка Общие - раздел Временные файлы
Интернета).
Аналогичнопредыдущимпараметрам1включаетзапрет,0-отключает.
Не знаю как других, но меня жутко раздражает, когда какая-то программа
без моего ведома лезет в Интернет, что-то пытается обновить...
Традиционно лидером в таких безобразиях являются программные
продукты Microsoft, и Internet Explorer не является счастливым
исключением. Видимо, разработчики считают всех пользователей не
способнымисамостоятельно мыслить и действовать.Неспорю,иногдаих
мнение оправдано, но ведь это не наш случай, поэтому запретим
автоматическиеобновленияIE.ВразделеHKCU\Software\Microsoft\Internet
Explorer\Main создадим DWORD параметр NoUpdateCheck, значение 1 запрещаетавтоматическиеобновления.
Перейдем,пожалуй,кнастройкамразныхпараметровработыбраузера.Вы
обращали внимание как отображаются в окне браузера большие рисунки?
По умолчанию IE подгоняет их размер так, чтобы изображение
поместилосьцеликомбезпоявленияполоспрокрутки.Принеобходимости
можно отключить данную возможность. Открываем раздел
HKCU\Software\Microsoft\Internet Explorer\Main и создаем строковый
параметр "Enable AutoImageResize", значение "yes" - автоматическое
изменение размера изображений включено (установлено по умолчанию),
"no"-выключено.
Приведу
еще
несколько
полезных
настроек
в
разделе
HKCU\Software\Microsoft\InternetExplorer\Main:
STRING FavIntelliMenus-"yes" -скрыватьредко используемые пунктыв
Избранном,"no"=нет.Архиполезнаянастройка.Всегдаустанавливаюдля
неезначение"no".
STRING FormSuggest PW Ask - "yes" - Internet Explorer выводит окно с
сообщением сохранять пароль или нет (если вы вдруг отметили галочкой
"не спрашивать больше", а сохранить пароль все-таки надо, всегда можно
заставитьбраузервывестиэтотдиалогснова).
STRINGUseFormSuggest-InternetExplorerвыводитподсказки,вкоторых
можно выбрать ранее введенные данные (автозаполнение форм). Чтобы
включитьэтувозможностьустановитезначение"yes".
STRING FormSuggest Passwords - автозаполнение имен пользователей и
паролейвформах.Значение"yes"-автозаполнениеиспользуется.
Internet Explorer при открытии ссылки заменяет содержимое последнего
открытого окна. С помощью DWORD параметра AllowWindowReuse со
значением 0 можно заставить его каждый раз открывать новое окно при
клике на любую ссылку (ума не приложу кому это может понадобиться,
когда есть кнопка Shift, но мало ли :)). Вернуть все назад можно удалив
параметрилиприсвоивемузначение1.
STRING Play_Background_Sounds - значение "no" запрещает Internet
Explorer проигрывать фоновые звуки на web-страницах. "yes" - разрешает
фоновыезвуки.
Поиск из панели адресов. DWORD параметр AutoSearch влияет на
поведение Internet Explorer, если он не находит страницу. Internet Explorer
6.0используетследующиезначения:
0-Невыполнятьпоискизадреснойстроки
6-Показатьрезультатыиперейтинасамыйпохожийузел
5-Толькоперейтинасамыйпохожийузел
4-Толькопоказатьрезультатывглавномокне
Если вы хотите включить (выключить) автозаполнение в строке адреса,
надо
в
разделе
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoComplete
создатьстроковыйпараметрAutoSuggestсозначением"yes"("no")
Internet Explorer при автономной работе выводит окно "Подключение
удаленного доступа" если информация не доступна локально. В
большинстве случаев это не важная информация (рекламные баннеры) и
подключаться к Интернету нет необходимости. На больших страницах
InternetExplorerможетвыдатьокнонесколькораз,преждечемполностью
отобразитинформацию.Это,мягкоговоря,напрягает.СпомощьюDWORD
параметра
EnableAutodial
в
разделе
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings можно
запретить IE выводить окно подключения: 1 - разрешить вывод окна, 0 запретить.
Заставим браузер сохранять закачиваемые файлы в нужную нам
директорию. Для этого создайте или отредактируйте строковый параметр
DownloadDirectoryвразделеHKCU\Software\Microsoft\InternetExplorer.
Нуинасладкоеодиннемаловажныйпараметр.Еслинехорошиеродители
(старшийбрат/админ/друзья-шутники/сампопьяни-нужноеподчеркнуть)
установили ограничение доступа к сайтам, задав длиннющий пароль, а
поделитьсяимсвами"забыли",удалитедвоичныйпараметрKeyизраздела
HKLM\Software\Microsoft\Windows\CurrentVersion\policies\Ratings и пароля
какнебывало.
Чтобы не мучаться с поиском нужных разделов и параметров в редакторе
реестра, приведу код reg-файла со всеми упоминавшимися в статье
настройками. Просто раскомментируйте нужные строки (удалите ";" в
началестроки)изапуститефайлнавыполнение.
REGEDIT4
;[HKEY_CURRENT_USER\Software\Policies\Microsoft\InternetExplorer\ControlPanel
;"GeneralTab"=dword:00000001
;"SecurityTab"=dword:00000001
;"PrivacyTab"=dword:00000001
;"ContentTab"=dword:00000001
;"ConnectionsTab"=dword:00000001
;"ProgramsTab"=dword:00000001
;"AdvancedTab"=dword:00000001
;"Advanced"=dword:00000001
;"Settings"=dword:00000001
;[HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer]
;"DownloadDirectory"="C:\DOWNLOAD"
;[HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer\Main]
;"AutoImageResize"="no"
;"AutoImageResize"="yes"
;"NoUpdateCheck"=dword:00000001
;"FavIntelliMenus"="no"
;"FavIntelliMenus"="yes"
;"AllowWindowReuse"=dword:00000000
;"Play_Background_Sounds"=no"
;"Play_Background_Sounds"="yes"
;"AutoSearch"=dword:00000000;Невыполнятьпоискизадреснойстроки
;"AutoSearch"=dword:00000006;Показатьрезультатыиперейтинасамыйпохожийу
;"AutoSearch"=dword:00000005;Толькоперейтинасамыйпохожийузел
;"AutoSearch"=dword:00000004;Толькопоказатьрезультатывглавномокне
;"FormSuggestPWAsk"="no"
;"FormSuggestPWAsk"="yes"
;"UseFormSuggest"="no"
;"UseFormSuggest"="yes"
;"FormSuggestPasswords"="no"
;"FormSuggestPasswords"="yes"
;[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\policies\Ratings
;"Key"=-
;[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings
;"EnableAutodial"=dword:00000001
;[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoComp
;"AutoSuggest"="no"
;"AutoSuggest"="yes"
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
ОписаниеслужбвWindowsNT/2000/XP
ОписаниеизложенонаосновеWindows2000,однако,большинствослужб
присутствуетивWindowsXP.
Знаетеливы,чтововремявашейработызакомпьютером,нанем
постояннотрудятсядесяткималенькихработников,которыепомогаютво
всемипомересилоблегчаютвамжизнь?Иимяэтиммаленьким
работникам-службы.Но,какилюбыетрудяги,импостояннонужнапища.
Ачтожеониедят?Даоперативнуюпамять!Длясвоегофункционирования
каждыйтакойработник"съедает"частьоперативки.Авыуверены,чток
этомуславномуобществунеприсоединилосьнесколькодармоедов,
которые,занимаялишнююпамять,темнеменее,ничегонеделают?Спешу
васобрадовать:есливсеустанавливалосьпоумолчанию,апотомникакой
настройкинепроводилось,тоименнотаконоиесть.Аононамнадо?
Наверняка,лишнейоперативкиуваснет.Такдавайтежепосмотримвлицо
каждомунашемуработнику,иеслионстыдливоотведетвзгляд,тутже
выгонимизэтойславнойкоманды,вкрайнемслучае,посадимнаскамейку
запасных:).
Ноначнемсопределениятого,чтожетакоеслужбывообще.Службанебольшаяпрограмма,стартующаяодновременносзапускомWindowsи
выполняющаякакие-либослужебныефункцииилиобеспечивающаяработу
другихутилит.ЕстьтольковWindowsNT/2000/XP.Просмотретьвесь
списокслужбможнозапустивПуск->Настройка->Панельуправления>Администрирование->Службы.
Внушительныйсписок,нетакли?Правда,активнывданныймомент
толькоте,укоторыхвполе"Состоянии"стоитзначение"Работает",ноиих
тожевесьманемало.Вотнанихвпервуюочередьинадообратитьсвое
внимание.Оговорюсьсразу,чтомыбудемменятьтипзапускаслужбы.Для
этогонадодваждыщелкнутьпонужнойслужбеинавкладке"Общие"
найтиполе"Типзапуска",вкотором,какэтонистранно,иможнобудет
выбратьнужныйнамрежим.Вариантоввсеготри:авто-работаетвсегда,
вручную-запускаетсяпомеренеобходимостисамойоперационной
системой,отключено-вообщенезапускается.Отключатьслужбынадо
оченьаккуратно.Итутлучшеоставитьчто-толишнее,чемудалить
необходимыйдляработыкомпонент.Лучшевыставлятьрежим"Вручную",
чтобыоперационнаясистемапринеобходимостимоглазагрузить
требуемуюслужбу.Впротивномслучаемогутвозникнутьошибкивработе
программвплотьдокрахасистемы,пропадетдоступкнекоторым
возможностям,даипростоработатьстанетнекомфортно.
Итак,насталапорапройтисьпосамимслужбам.Прирекомендации
отключитьтуилиинуюслужбуяисхожуизпредпосылки,чтонастройка
проводитсянаобычномдомашнемкомпьютере.Впротивномслучаевам
надоисходитьизреальныхусловийэксплуатациикомпьютера.Подробно
описыватькаждуюслужбуянебуду,поописаниюкнейлегкопонятьоее
назначении(покрайнеймере,вобщихчертах),авотнебольшие
комментариидам.
DHCP-клиент(DHCPClient)-впринципе,еслиувасвнастройках
сетевыхподключений(втомчислекинтернет)нетупоминанийоDHCPсервере,томожнопоставитьзапускВручную,нолучше,всеже,оставить
какАвто.
DNS-клиент(DNSClient)-есликомпьютернеподключенкинтернет,то
можноустановитьВручную.
NetMeetingRemoteDesktopSharing-разрешаетпроверенным
пользователямдоступкрабочемустолу-отключитьзаособойвредностью.
PlugandPlay-нукудабезплуг-анд-плея?Лучшеничегонетрогать!
QoSRSVP-длялокальноймашиныврядлипонадобится,поэтому
оставитьВручную.
Telnet-есливамнадо,чтобыкто-тоудаленнозапускалнавашеймашине
программыизконсоли,то,конечно,можетеоставитьиВручную.Длявсех
остальных-Отключить.
WindowsInstaller-лучшеданнуюслужбунебеспокоить,такчтопусть
работаетВручную.
АгентполитикиIPSEC(IPSECPolicyAgent)-службанужнатолькоесли
компьютерподключаетсякдоменуWindows2000.Впротивномслучае
лучшевыставитьВручную.
Диспетчеравто-подключенийудаленногодоступа(RemoteAccessAuto
ConnectionManager)-можновыставитьВручнуюиливообщеОтключить.
Диспетчерлогическихдисков(LogicalDiskManager)-можновыставить
типзапускаВручную.
Диспетчерочередипечати(PrintSpooler)-еслиуваснетпринтеров(втом
числесетевых),томожнослужбувообщеотключить-всеравновамфайлы
печататьнепридется.
Диспетчерподключенийудаленногодоступа(RemoteAccessConnection
Manager)-длялокальныхкомпьютероввпринципе,можновыставитьи
Вручную,еслижевыподключеныксети,толучшеоставитьАвто.
ДиспетчерсетевогоDDE(NetworkDDEDSDM)-изначальностоит
Вручную.Нуипустьстоит.
Диспетчерслужебныхпрограмм(UtilityManager)-янадеюсь,
"Специальныевозможности"выдаженепоставили,такчтосмело
отключайтеэтуслужбу.Конечно,есливамнравится,каквыскакивает
сообщение,еслипятьразподряднажатьнаShift,томожетеиоставить.
Диспетчеручетныхзаписейбезопасности(SecurityAccountsManager)длялокальныхкомпьютеровисетевыхмашин,длякоторыхинформацияо
безопасностидляучетныхзаписейлокальныхпользователейнеполучается
изсети,можновыставитьВручную.Иначе-Авто.
Журналсобытий(EventLog)-есливыникогданезаглядываливлог-файл
работысистемыидаженезнаете,гдеоннаходится,тоотключитеслужбу.
БолеепродвинутымрекомендуетсяоставитьАвто.
Защищенноехранилище(ProtectedStorage)-именноэтаслужбахранит
пароликвашемупочтовомуящику,инетолькокнему.Переключитьна
режимВручнуюможнотолькоесликомпьютернеподключенник
интернет,никлокальнойсети.
ИнструментарийуправленияWindows(WindowsManagement
Instrumentation)-довольноважнаяслужба.Пустьужоналучшеработает
постоянно.
Источникбесперебойногопитания(UninterruptiblePowerSupply)-еслиу
васестьИБП,суправляющиминтерфейсом,подключеннымккомпьютеру,
тоставьтеАвто,иначе-Отключено.
Клиентотслеживанияизменившихсясвязей(DistributedLinkTracking
Client)-нужнатолькодлякомпьютероввдоменеWindows2000.Длявсех
остальныхвыставляйтеВручную.
Координаторраспределенныхтранзакций(DistributedTransaction
Coordinator)-ужбольнострашноописаниеэтойслужбызвучит,поэтому
лучшеоставьтеееВручную.
Локаторудаленноговызовапроцедур(RPC)(RemoteProcedureCall
(RPC)Locator)-управляетбазойданныхслужбыименRPC.Изначально
стоитВручную-нуипустьстоит.
Маршрутизацияиудаленныйдоступ(Routing&RemoteAccess)-на
несетевыхкомпьютерахставьтеОтключено,есликомпьютервлокальной
сети,тотожеможноотключить-этоврядлипонадобится,вкрайнем
случае,админобъяснитвамвсюглубинувашегозаблужденияивыставит
тотрежим,какойнужен.
Модульподдержкисмарт-карт(SmartCardHelper)-сомневаюсь,чтоу
васестьустройствочтениясмарт-карт,такчтовыставляйтеВручную.
Обозревателькомпьютеров(ComputerBrowser)-есликомпьютерне
подключенвлокальнуюсеть,тоэтаслужбавамненужна,такчто
выставляйтеееВручную.
ОбщийдоступкподключениюИнтернета(InternetConnectionSharing)необходимостьэтойслужбывесьмасомнительнавлюбомслучае.Даже
есликомпьютерыввашейлокальнойсетивыходятвинтернетименно
черезвас,тодляэтихцелейлучшевоспользоватьсяспециальными
программами,предоставляющимимассудополнительныхвозможностей.
Ну,аесликомпьютервообщенеподключенксети,тотемболеенадоэту
службуотключить.
Оповещатель(Alerter)-длякомпьютероввлокальнойсетиоставить
Вручную,удомашнегокомпьютераможноотключить.
Оповещенияижурналыпроизводительности(PerformanceLogs&
Alerts)-ненастолькоужэтаслужбаиважна,чтобывыставлятьеевАвто
режим,поэтомуоставьтеВручную.
Планировщикзаданий(TaskScheduler)-есливыпользуетесь
планировщиком,то,конечно,оставляетеАвто,впротивномслучаеОтключено.
ПоставщикподдержкибезопасностиNTLM(NTLMSecuritySupport
Provider)-обеспечиваетбезопасностьпрограммам,использующим
удаленныевызовыпроцедур(RPC)черезтранспорты,отличныеот
именованныхканалов.ЛучшеоставитьВручную.
Рабочаястанция(Workstation)-нужнадлядругихслужб,оставлятьАвто.
РасширениядрайвераоснасткиуправленияWindows(Windows
ManagementInstrumentationDriverExtensions)-службуможновыставить
Вручную.
Сервер(Server)-длякомпьютеров,неподключенныхклокальнойсети,эту
службуможноотключить.
Серверпапкиобмена(ClipBook)-оставляйтеВручную.Длянесетевых
компьютеровможновообщеотключить.
Сетевойвходвсистему(NetLogon)-имеетзначениепоумолчаниюВручную.Лучшеегонеменять.
Сетевыеподключения(NetworkConnections)-какнистранно,нодаже
еслиустановленаВручную,товсеравновсегдазапущена.Есливыне
подключеныклокальнойсетииневыходитесэтогокомпьютерав
интернет,томожетеиотключитьее,дляостальныхслучаевлучшене
трогать.
СистемасобытийCOM+(COM+EventSystem)-рекомендуютвыставлять
значениеэтойслужбыАвто,такчтолучшепослушатьрекомендации.
СлужбаRunAs(RunAsService)-частоливамприходитсязапускать
приложенияотименидругихпользователей?Смеломожетеставить
Вручную.
Службаадминистрированиядиспетчералогическихдисков(Logical
DiskManagerAdministrativeService)-службазапускаетсяВручную,лучше
этозначениенеменять.
СлужбавремениWindows(WindowsTime)-устанавливаетпоказания
часовкомпьютера.ОставляйтеВручную.
Службаиндексирования(IndexingService)-индексируетсодержимоеи
свойствофайловнакомпьютере,дляобеспечениябыстрогоихпоиска.Но,
намойвзгляд,файлынакомпьютерелучшеискатьспомощьюFARaили
WindowsCommandera,такчтослужбулучшеотключить.
СлужбаподдержкиTCP/IPNetBIOS(TCP/IPNetBIOSHelperService)длякомпьютера,неподключенноговлокальнуюсеть,отключить,для
остальных-Авто.
СлужбасетевогоDDE(NetworkDDE)-Вручную.
Службасообщений(Messenger)-поставитьАвтоилиВручнуюдля
компьютеровподключенныхклокальнойсети.Надомашнемкомпьютере
можноотключить.
Службаудаленногоуправленияреестром(RemoteRegistryService)-вы
доверитекому-тоудаленноковырятьсяувасвреестре?Я-нет.Болеетого,
дажеоставлятьтакуюслужбувредно,такчтооднозначноотключать!
Службафаксов(FaxService)-еслиуваснетподключенногофакс-модема
иливынепользуетесьимдляприемафаксимильныхсообщений,тосмело
можетеотключатьэтуслужбу.
Смарт-карты(SmartCard)-смарт-картыужеупоминалисьвыше,такчто
действияаналогичнысервису"Модульподдержкисмарт-карт".
СъемныеЗУ(RemovableStorage)-еслиуваснетсъемныхносителейтипа
ZIP,LS-120,тоотключайтеэтуслужбу.Иначе-Авто.
Телефония(Telephony)-обеспечиваетподдержкуTelephonyAPI(TAPI)
дляпрограмм,управляющихтелефоннымоборудованиемиголосовымиIPподключенияминаэтомкомпьютере,атакжечерезЛВС-насерверах,где
запущенасоответствующаяслужба.ВыставляемВручную.
Уведомлениеосистемныхсобытиях(SystemEventNotification)-для
сетевыхкомпьютеровнадовыставлятьАвто,длядомашних-Вручнуюили
Отключено.
Удаленныйвызовпроцедур(RPC)(RemoteProcedureCall(RPC))-на
сколькоязнаю,этуслужбунеобходимовыставлятьвАвто.
Управлениеприложениями(ApplicationManagement)-наконец-то
последняяслужба!ПоумолчаниюонастоитВручную.Лучшенеменять.
Нувот,выпрочиталиэтотдовольноутомительныйсписокслужбWindows
ипоспешилипоскореепоменятьвсе,по-отключатьлишнееивысвободить,
наконец,заветныемегабайтыоперативки.Итут...случилосьнепоправимое!
Выотключилижизненнонеобходимыеслужбыинезаметилиэтого.
Компьютернегрузится,аврядахдоблестныхбойцовсдетищемMicroSoft
царитуныние.Однаконевсепотеряно!Главное,запуститьредактор
реестра,аеслиэтонеудается,товоспользоватьсязамечательной
программкойRegView,окоторойяужеписал.Открываетераздел
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,тамвы
увидитеподразделыссокращенныминазваниемслужб(разделовтам
реальнобольшечемприсутствуетслужбнакомпьютере,такчтопридется
поискать).ВподразделенужнойслужбынайдитеDWORDпараметрStart.
Онможетприниматьзначения2-Авто,3-Вручную,4-Отключено.
Отредактируйтеего,перезагрузитесь,ивседолжнонормальнозаработать.
Ещеразпредупрежу,чтоесливынеуверены,толучшенеотключайте
службуитогдапроблемвозникнутьнедолжно.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
ОснасткаMMC
Когдаяописывалнастройкуменю"Пуск"спомощьюреестра,яупоминал
отом,чтонастраиватьоболочкуWindowsможнонетолькочерезреестр
илиспециальныедиалоги,ноиспомощьюдругихсредств.Ободномиз
такихсредств-оснастке(консоли)MMC-ипойдетречьвэтойстатье.
КонсольMMC(MicrosoftManagementConsole)группируетсредства
администрирования,которыеиспользуютсядляадминистрирования
компьютеров,служб,другихсистемныхкомпонентовисетей.Впервыеона
появиласьвWindows2000.Чтобызапуститьее,проделайтеследующее:
Пуск->Выполнить->mmc.Передвамиоткроетсяокно
Дальшенеобходимодобавитьгрупповуюполитику"Локальный
компьютер",гдеибудутпроводитьсявсенастройки.Дляэтоговыберите
пунктменюКонсоль->Добавитьилиудалитьоснастку...,впоявившемся
окненажмитекнопку"Добавить",иизпоявившегосядиалога"Добавить
изолированнуюоснастку"выберите"Групповаяполитика".Нажмите
последовательнокнопки"Готово","Закрыть","ОК"ивыдолжныувидеть
следующее:
Давайтепопробуемубратьпункт"Выполнить"изменю"Пуск"спомощью
этогоинструмента.Влевойчастиокнаконсолипередвамидревовидная
структуранастраиваемыхпараметровоперационнойсистемы.Откройте
пунктменюКонфигурацияпользователя->Административныешаблоны>Панельзадачименю"Пуск".Врасширенномвариантеотображения
данныхвысможетепочитатьописаниенастраиваемогопункта.Есливы
знаетечтоименновамнадонастроить,толучшепереключитьсяв
стандартныйрежим,чтобынезаниматьлишнееместонаэкранемонитора
ненужнойваминформацией.
Итак,найдитестрокуУдалитькоманду"Выполнить"изменю"Пуск".
Дваждыкликнитепонейлевойкнопкоймыши,отметьтепункт"Включен"
инажмите"ОК".ТеперьесливывыберитеПуск->Выполнить,тоувидите
сообщение,чтооперацияотмененавследствиедействующихдля
компьютераограничений.Послеперезагрузкиэтотпунктвообщепропадет
изменю"Пуск".Аналогичнымобразомможнонастроитьидругие
параметрыменю"Пуск"инетолько.
Значения"Включен"и"Отключен"показываютдействуетилинетданная
политика,азначение"Незадан"возвращаетнастройкуполитикив
значениепоумолчанию,заложенноевоперационнойсистеме.
Вынавернякаужеобратиливниманиенабольшоеколичествопараметров,
которыеможнонастроитьспомощьюоснасткиMMC.Действительно,
здесьможнонастроитьоченьмногиепараметрыоперационнойсистемы
безиспользованиядополнительныхинструментальныхсредств.Описывать
ихвсенетсмысла,такчтоесливасзаинтересовалэтотспособтвикинга,
ознакомьтесьснимисамостоятельно,темболееописаниенастраиваемых
параметровдаетболеечемисчерпывающуюинформацию.
Ну,адляначальногознакомствасоснасткойMMCприведенныхсведений
должнохватить.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
Основныекомандыконсоливосстановления
Водинпрекрасныйденькомпьютеротказываетсязагружатьсистему
...
Водинпрекрасныйденькомпьютеротказываетсязагружатьсистемуи
выводитнаэкрантарабарщинунаголубомфоне.Неизвестнооткуда
появляетсясообщениеотом,чтосистеманеможетбытьзапущена,таккак
потерянилииспорченкакой-тофайл.Преждевсеговыпытаетесь
перезагрузиться,однакоэтотспособневсегдасрабатывает.Втакой
ситуациивосстановитьработоспособностьсистемыможноспомощью
новогоинструмента,входящеговсоставWindows2000ProfessionalКонсоливосстановления(RecoveryConsole-RC).
Установкаконсоливосстановления
ДляначаланужнозапуститьRCсустановочногоCD-ROMWindows2000
Pro(втомслучае,конечно,еслисистемаподдерживаетзагрузкусCDROM)илисустановочныхдискет.МожноустановитьRCкакодиниз
вариантовзагрузки.Установивкомпакт-диск,выбираемменюStart,затем
Runивводимвкоманднуюстроку:
{x}:\i386\winnt32/cmdcons
гдевместохподставляетсябукваустройствачтениякомпакт-дисков.После
запускапоявитсядиалоговоеокносвопросомотом,нужноли
устанавливатьRC.ВыбираемYes.Дляустановкиконсолипонадобитсядо
7Mбайтдисковогопространства.Позавершенииустановкисистема
предложитперезагрузиться.Послеэтогоноваяопциязагрузки-<Консоль
восстановления>-квашимуслугам.
ДлязапускаRCсустановочныхдискетилинапрямуюсCD-ROMпридется
загружатьсистемуименносних.Втекстовойчастипрограммыустановки
Windows2000Proпоявляетсявозможностьвыборамеждуинсталляцией
системы(нажавEnter)илиеевосстановлением(нажавR).Выбираем
вариантвосстановления.Далеепрограммаустановкипредлагаетвыбрать
режимвосстановленияспомощьюконсоливосстановления(нажавС)или
дискааварийноговосстановленияemergencyrepairdisk(снованажавR).
Еслисистемаотказываетсязагружаться,ярекомендуювыбиратьR,т.е.
восстановлениеспомощьюдискааварийноговосстановления,дажеесли
самогодисканет.Вэтомслучаеавтоматическипроверяетсяналичиеи
целостностьвсехважнейшихсистемныхфайлов.Яиспользовалэтуопцию
длявосстановленияWindows2000послетого,какпривелеевнерабочее
состояниеустановкойWindowsNT4.0.Еслиэтотметоднеработает,
придетсяперезагрузитьсяизапуститьRC.
ИспользованиеRC
Внезависимостиоттого,какзапускаетсяRC-сCD-ROM,установочных
дисковилииззагрузчика-послезапускапридетсязарегистрироваться.В
системахсдвойнойзагрузкойнужнобудетвыбрать,вкакойизустановок
этосделать(например,C:\winnt,D:\winnt),иввестипароль
администратора.Послерегистрациипоявитсяприглашениенавводкоманд.
Покомандеhelpвыдаетсяпереченьвсехкоманд,доступныхвконсоли
восстановления.Большинствоизнихзнакомыпользователямкомандной
строкиWindows2000ProиDOS,однакоинформациюпокаждой
конкретнойкомандеможнополучить,набрав
help<command>
Вэтомпримереприведенастрокадлявыдачиинформацииокомандеattrib
ирезультатееисполнения:
C:\WINNT>helpattrib
Командапоказываетилиизменяетатрибутыфайлов:
+-Назначитьатрибут.
--Снятьатрибут.
R-Атрибутфайлатолькодлячтения.
S-Атрибутсистемногофайла.
H-Атрибутскрытогофайла.
C-Атрибутсжатогофайла.
Приведенныйрезультатпрактическиполностьюсовпадаетсрезультатом
выполнениякоманды
helpattrib
изкоманднойстрокиWindows2000Pro.ВRC,однако,отсутствует
возможностьустановкиилиснятияатрибутаархивногофайла,вместонее
предоставляетсявозможностьработысатрибутомсжатия.ВRCтакже
отсутствуютпереключатели/Sи/D,изменяющиеатрибутыподкаталогови
папок.БольшинствокомандRCпредоставляютсокращенныевозможности
посравнениюсихвариантамивWindows2000Pro.Некоторыекоманды,
однако,существуюттольковRC.
Batch.Командазапусканаисполнениефайлапакетнойобработки.
Определеныдвааргумента:имязапускаемогопакетногофайлаифайла,в
которыйсистемаперенаправляетвыходныеданные.
Disable.Командапозволяетпредотвратитьзапускслужбидрайверовпри
загрузкесистемы.Онаиспользуетсявтомслучае,еслинастадии
начальнойзагрузкисистемыпроисходитсбойвинициализациислужбы
илидрайвераустройства.ВкомандеDisableиспользуетсяодинаргументнаименованиеслужбы,запусккотороймыхотимпредотвратить(получить
списокнаименованийможноспомощьюкомандыListsvc).Передтемкак
пометитьслужбуфлажкомзапретанаисполнение,командараспечатает
флагзапускаслужбы.Например,команда
disablecdrom
сообщает,чтопрежнийфлагзапускабылSERVICE_SYSTEM_START.Это
значениенужнозапомнить,онопотребуетсядлявозобновленияработы
службыкомандойEnableпослезавершенияпроцедурывосстановления.
Diskpart.Спомощьюэтойкомандыможноразбитьжесткийдискна
разделы.Всепараметрыейможнопередаватьизкоманднойстроки
(введитеhelpdiskpartдляполученияспискааргументовкоманды).Однако
прощеработатьснейвдиалоговомрежиме
diskpart
Натекстовомэкранепоявитсясписокразделовжесткогодиска.Cтрелками
вверхивнизвыбираемнеобходимыйразделилисвободноепространство.
ПослевыбораразделаклавишейDудаляемего.Длясозданиянового
разделавсвободномпространственажимаемклавишуС.
Системапопроситзадатьразмерновогораздела.Завершиввсенастройки,
нажимаемEscдлявозвратавRC.Незабудьтеотформатироватьвновь
созданныеразделыкомандойFormat.
Enable.Командаразрешаетзапускпризагрузкесистемыранее
отключенныхслужбидрайверов.Онаиспользуетдвааргументанаименованиеслужбыиеефлагзапуска(еслинеуказатьфлагзапуска,
командаEnableвыведетпереченьдопустимыхфлагов).Например
enablecdromSERVICE_SYSTEM_START
разрешаетзапускслужбыcdromиустанавливаетфлагеезапускапри
загрузкесистемы.
Exit.КомандазавершаетработуRCиперезагружаеткомпьютер.
Expand.Командараспаковываетархивныефайлы(.cab),используемые
программойустановкиWindows2000Pro.Вконсоливосстановленияона
работаеттакже,какиееаналогвWindows2000Pro,однакоиспользует
слегкаизмененныеаргументы.Командаhelpexpandдастихподробное
описание.
Fixboot.Командапозволитвосстановитьсистемувслучаенебрежной
установкиNTилиинсталляцииWindows9xповерхустановленной
Windows2000Pro-втакойситуациизагрузитьWindows2000Proобычно
неудается.КомандаFixbootперезаписываетзагрузочныйсекторжесткого
диска,чтоделаетдискзагружаемым.Понимаетединственныйаргументбуквуустройства,накотороепроизводитсязапись.Например
fixbootc:
произведетзаписьновогозагрузочногосекторанадискС.
Fixmbr.Спомощьюэтойкомандыможнопопытатьсявосстановить
главнуюзагрузочнуюзапись(MasterBootRecord)загрузочногораздела.С
еепомощьюможнопопытатьсязаставитьсистемузагружатьсявтех
случаях,когдаонаотказываетсяэтоделать.Унееопределентолькоодин
аргумент-имяустройства,накотороеустанавливаетсяноваяMBR.Если
имявкоманденеуказано,FixmbrзапишетновуюMBRвустройствопо
умолчанию(обычнодискС).
Format.Командапозволяетпереформатироватьдефектныйдискили
зановоотформатироватьраздел,созданныйкомандойDiskpart.Ее
аргументамимогутбытьтолько:букваустройства,/Q(quickformat)параметрбыстрогоформатированияи/FS:(filesystem)-типфайловой
системы,суказаниемодногоизпараметровFAT,FAT32,илиNTFS.
Напримеркоманда
formatg:/Q/FS:FAT32
применитбыстроеформатированиекустройствуGисоздастнанем
файловуюсистемуFAT32.Еслипризапускекомандытипфайловой
системынеуказан,поумолчаниюзадаетсяNTFS,используемаятолько
системамиWindows2000.Этоможетвызватьпроблемыпринастройке
окружениянаработудвухоперационныхсистемодновременно.(Прим.
переводчика:установкаWindowsNT4.0ссервиснымпакетомSP4
позволяетNTработатьсNTFS5.0,созданнойWindows2000).
Listsvc.Командавыводитнаэкранпереченьвсехиспользуемыхвсистеме
службидрайверовсуказаниемихфлаговзапуска.Еслисистеманеможет
загрузитьсяиз-запроблемскаким-либодрайвером,Listsvcможетпомочь.
Выпишитенаименованиявсехслужб,появившихсяна"голубомэкране
смерти"изагрузитеRC.ЗапустивListsvc,найдитеввыданномеюсписке
выписанныеслужбы.КомандойDisableотключитеподозрительные
драйверыипокиньтеRC.Еслисистемапослеэтогонезапустится,
загружайтеRCипробуйтеснова.
Logon.Прииспользованиинесколькихвариантовзагрузкиэтакоманда
позволитподключатьсякразличнымразделам.Командавыводитсписок
разделов,позволяетвыбратьнужныйизапрашиваетпароль
администратора(процедурааналогичнатой,котораявозникаетпризапуске
RC).
Map.Командавыводитсписоквсехустройствжесткогодиска,
поставленныхимвсоответствиебукв,форматовфайловойсистемы,
размеровустройствифизическихустройствNT,соответствующих
каждомудиску.Например,длядискаС:командаMapможетвывести
подобнуюинформацию
C:FAT162047MB
\Device\Harddisk0\Partition1
Аргументомэтойкомандыможетбытьarc.Вэтомслучаекомандапокажет
разметкуфизическогоустройствавформатеAdvancedRISCComputing
(ARC).Именновтакомвидеэтаинформацияобычнопредставленавфайле
boot.ini.
Systemroot.Командаделаеттекущимкорневойсистемныйкаталог
Windows2000Pro(обычноC:\winnt).
Командыконсоливосстановлениямогутпомочь"оживить"систему.Когда
исчерпанывсесредства,RCподскажетверноерешение.
Автор:ДжонРулей
Источник:www.osp.ru
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
Подборкасоветовпонастройкеиработев
WindowsXP
ДаннаяподборкасоветовбылаприсланаVitalyNevzorov.Если
найдетсяихавтор,обращайтеськомне,ядамздесьссылкунаваш
сайт.
Наткнулсянаодномсайте(уженепомнюгде)наописаниянекоторых
настроеквXP,некоторыеработаютидляпредыдущихверсий,цитирую
все,какесть:
1.ЕслипредыдущиеверсииWindowsскрывали,какдолгоониспособны
работатьбезперезагрузки,тоХРвэтомпланеестьчемгордиться.Войдите
вкоманднуюстрокуизменюAccessories,котороевызываетсястартовой
кнопкойAllPrograms,инаберитеsysteminfo.Компьютервыдастмного
полезнойинформации,втомчислевремябесперебойнойработы.Для
сохраненияэтихданныхвфайленаберитеsysteminfo>info.txt.
2.Длятогочтобыудалятьфайлы,несохраняяихв"мусорнойкорзине",
выберитеRun...изменюStartинаберитеgpedit.msc,затемвыберитеUser
Configuration,AdministrativeTemplates,WindowsComponents,Windows
ExplorerиотметьтефлажкомDonotmovedeletedfilestotheRecycleBin.
Покопавшисьвgpedit,можнонайтимассупараметровинтерфейсаи
системы,однакобудьтеосторожны:некоторыеизнихмогутпривестик
нежелательномуповедениюкомпьютера.(Этоработаеттольков
ProfessionalEdition.)
3.РабочуюстанциюХРможнозаперетьдвумящелчкамимыши.Кликнув
нарабочемстолеправойкнопкой,создайтеновыйярлыкивведитевполе
locationстрокуrundll32.exeuser32.dll,LockWorkStation.Присвойтеэтому
ярлыкукакое-нибудьимя.Теперьдвойнымщелчкомпонемувысможете
блокироватьсвойкомпьютер.Тогожеэффектаможнодобитьсясочетанием
клавишWindows+L.
4.XPскрываетотдельныеэлементысистемногоПО,которыекто-то,
возможно,захочетудалить.Этоможетбыть,например,WindowsMessenger.
ПользуясьредакторомNotepadилиEdit,исправьтетекстовыйфайл
/windows/inf/sysoc.inf,найдяиудаливвнемсловоhide.Затемвойдитев
менюAddorRemoveProgramsнапанелиуправления,выберите
Add/RemoveWindowsComponentsивамоткроетсявсе,чтобылосокрыто.
5.Тем,ктовладеетискусствомработыспакетнымифайламиDOS,ХР
предлагаетрядинтересныхновыхкоманд.Вихчислеeventcreateи
eventtriggersдлясозданиясистемныхсобытийислежениязаними,typeperf
дляконтролязапроизводительностьюразличныхподсистемиschtasksдля
управлениязапланированнымизадачами.Какобычно,/?послеимени
командывыдаетсписокопций-ихслишкоммного,чтобыперечислять
здесьвсе.
6.ВХРестьподдержкаIPверсии6-интернет-протоколановогопоколения.
Ксожалению,такойподдержкинетувашегоISP,поэтому
экспериментироватьснейможнолишьвпределахлокальнойсети.Введите
ipv6installвполеRun...(небеспокойтесь,текущиесетевыенастройкиот
этогонепострадают),азатемнаберитеipv6/?вкоманднойстроке,чтобы
получитьдополнительнуюинформацию.Есливынезнаете,чтотакоеIPv6,
непереживайтеинеутруждайтесебя.
7.Наконец-топоявиласьвозможностьсниматьзадачиизкоманднойстроки.
Наберитеtaskkill/pidиномерзадачиилипростоtskillиномерпроцесса.
Номерможноузнать,набравкомандуtasklist,котораявдобавоксообщит
многоеотом,чтопроисходитввашейсистеме.
8.XPсчитаетфайлыZipпапками-этоудобно,еслиувасбыстраямашина.
НаболеемедленныхсистемахможнозаставитьХРотказатьсяоттакой
практики,набраввкоманднойстрокеregsvr32/uzipfldr.dll.Позднее,если
выпередумаете,можновсевернутьназадкомандойregsvr32zipfldr.dll.
9.ВХРвстроенатехнологиясглаживанияшрифтовнаэкранеClearType,но
поумолчаниюонавыключена.Еестоитпопробовать,особенноесливы
начиналисDOSипялилисьнаэкранвсеэтигоды,заработавастигматизм.
ЧтобывключитьClearType,кликнитеправойкнопкоймышинадесктопе,
выберитеProperties,Appearance,Effects,затемнайдитевовтором
падающемменюClearTypeиразрешитеэтуопцию.Лучшиерезультаты
получаютсяналаптопах.ЕсливыхотитеиспользоватьClearTypeина
экранеприветствияWelcome,присвойтепараметру
HKEY_USERS/.DEFAULT/ControlPanel/Desktop/FontSmoothingTypeв
реестрезначение2.
10.Выможетепомочьприятелю,которыйработаетвдомашнейсетии
пользуетсятрансляциейсетевыхадресов(NAT),применивмеханизм
удаленногодоступа,нонесразу.СначалапопроситедругаприслатьвамemailсприглашениемRemoteAssistance,предварительноотредактировав
файл.ВатрибутеRCTICKETуказанIP-адресNAT,например192.168.1.10.
ЕгонадозаменитьдействительнымIP-адресомвашегоприятеля-онможет
определитьего,посетивсайтwww.whatismyip.com,-ипустьонубедится,
чтовегобрандмауэрепорт3389открытипереадресованнапроблемный
компьютер.
11.Выможетеисполнятьпрограммыотименидругогопользователябез
выходаизсистемыиповторнойрегистрации.Кликнитеназначкеправой
кнопкой,выберитеRunAs...ивведитеимяпользователяипароль.Они
будутдействоватьдоокончаниятекущегосеансаработы.Этоособенно
полезно,когданужнополучитьправаадминистраторадляустановки
программы,чтослучаетсяоченьчасто.Имейтеввиду,чтомногократно
исполнятьпрограммыподразнымиименами-занятиеувлекательное,но
ономожетпривестикнепредсказуемымэффектам.
12.WindowsXPпроявляетнастойчивостьвотношенииавтоматической
проверкиапдейтов,регистрациивсистемеPassport,использования
WindowsMessengerит.п.Современемвыпривыкните,но,есличувствуете,
чтонедоживетедоэтогомоментавздравомуме,запуститеRegedit,
войдитевHKEY_CURRENT_USER/Software/Microsoft/Windows/Current
Version/Explorer/AdvancedисоздайтепараметрDWORDсименем
EnableBalloonTipsизначением0.
13.Можноначинатьработать,ненабираяименипользователяипароля.
ВыберитеRun...изстартовогоменюинаберитеcontroluserpasswords2,что
приведеткоткрытиюприложения,управляющегоучетнымизаписями
пользователей.НавкладкеUsersудалитефлажокупозицииUsersMust
EnterAUserNameAndPasswordToUseThisComputerикликнитеОК.
ПоявитсядиалоговоеокноAutomaticallyLogOn;введитеимяпользователя
ипарольдлянужнойучетнойзаписи.
14.InternetExplorer6можнонастроитьнаавтоматическоеудаление
временныхфайлов.Запуститебраузер,выберитеTools/InternetOptions...и
Advanced,спуститесьдоразделаSecurityиотметьтепозициюEmpty
TemporaryInternetFilesFolderWhenBrowserisClosed.
15.КХРприлагаетсябесплатныйиндикаторработысетинатотслучай,
есливамневидносветодиодовнасетевойплате.Кликнитеправойкнопкой
наMyNetworkPlacesнарабочемстолеивыберитеProperties.Кликните
правойкнопкойнаярлыкесвоейлокальнойсетиилиdial-upсоединения,
выберитеPropertiesиактивизируйтезначокShowвзонеоповещенияо
работевсети.Теперьприналичиисетевоготрафикавправойчастипанели
задачвамбудетвеселоподмигиватьмаленькийзначоксети.
16.МенюStart,когдаонорешитпоявиться,можетпоказаться
медлительным,ноэтотпроцессможноускорить,уменьшивзначение
параметрареестраHKEY_CURRENT_USER/Control
Panel/Desktop/MenuShowDelay,котороепоумолчаниюравно400.Сделайте
его,например,нулевым.
17.ВWindowsExplorerфайлыможнопереименовыватьскопом.Выделите
вокнегруппуфайлов,кликнитеправойкнопкойпоодномуизнихи,если
нужно,переименуйтеего.Всевыделенныефайлыполучатимяуказанного
файласиндивидуальныминомерамивскобках.Крометого,значкивпапке
можноорганизоватьвупорядоченныепоалфавитугруппы-дляэтого
выберитеView,ArrangeIconBy...ShowInGroups.
18.WindowsMediaPlayerвпроцессевоспроизведениятрековотображает
обложкиальбомовеслинаходитихизображениевИнтернетевовремя
копированиятрекасCD.Впротивномслучае,атакжееслиувасбольшая
библиотекамузыкальныхфайловWMP,выможетепоместитьсвою
собственнуюкопиюизображенияобложкивтотжекаталог,гдехранятся
записи.Простоназовитеееимя_каталога.jpg,иWindowsMediaPlayer
найдетивыведетэтукартинку.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
УстановкаSP1наWindowsXP,активацияXP
Автор:VladimirAkhmechet
ПослевыходаSP1дляWindowsXPнамногихфорумахсталипоявляться
вопросы,какегокорректноустановить.Этанебольшаяинструкция,
надеюсь,поможетрешитьбольшинствовозникающихпроблем.Уточню,
чтомнойнеоднократнобылиустановленыSP1поэтойинструкциидля
английскойверсииWindows.Покапроблемнебыло.Такжеинструкция
успешнопрошлапроверкунанемецкойверсии.Такчтоможносмело
утверждать,чтоинадругихверсияхонавполнеработоспособна.
Microsoftрекомендует,прежде,чемначатьустановку,запуститьSystem
Restoreисоздатьновуюконтрольнуюточку(CreateNewRestorePoint).
Предупреждение:ошибкависпользованииRegistryEditorможетбыть
причинойсерьёзнойпроблеммы,котораяпотребуетполнойпереустановки
операционнойсистемы.Microsoftненесётответственностизаэто.
ИспользуйтеRegistryEditorнасвойсобственныйриск.
Итак,послеэтихпредупрежденийприступимкделу:
1.НажмитеStart,азатемRun.
2.ВокнеOpenнапечатайтеregeditинажмитеOK.
3.Налевойпанелинайдитеиоткройтеследующийключ:
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\Current
Version\WPAEvents.
4.ВправойпанелинажатьправойкнопкойнапараметреOOBETimerи
выбратьModify.Необходимоизменитькакминимумоднуцифрувэтом
параметре,чтобыдезактивироватьWindows.
5.НажатьStart,азатемRun.
6.ВокнеOpenнапечататьследующуюкомандуинажатьOK:
%systemroot%\system32\oobe\msoobe.exe/a
(%systemroot%-этокаталог,вкоторомустановленаWindows.Чащевсего
онтакиназываетсяWindows).
7.ВоткрывшемсяокненажатьYes,Iwanttotelephoneacustomerservice
representativetoactivateWindows,изатемнажатьOK.
8.НажатьChangeProductKey.
9.НапечататьновыйкодвокошкеNewKeyинажатьOK.(Список
возможныхкодовактивацииXP-см.Ниже).
Еслипроисходитвозвраткпредыдущемуокну,нажмитеRemindmelater,а
затемперезагрузитекомпьютер.
Повторитешаги5и6,чтобыубедиться,чтоWindowsактивирована.
Должнопоявитьсяследующеесообщение:Windowsisalreadyactivated.
НажмитеOK,чтобывыйти.
ПослеэтиххитрыхманипуляцийнадоинсталлироватьSP1ForWindows.
ЕслиWindowsнезапускаетсяпослеустановкиSP1,надонажатьF8во
времяперезагрузкиивыбратьLastKnownGoodConfiguration,азатем
повторитьпроцедуру.
ВозможныекодыдляактивацииWindowsXP:
[82VJ3-PB4JR-QPDXV-77VRC-8WRFX]
[DCJM2-4FJQ8-FH46R-WMPDF-4MJ64]
[YXPGY-FQHT2-7MHPD-FJ3R3-8PPKB]
[GXYXB-M46X6-BCVJ3-3RR7K-F6TTM]
[M8W23-CM7TD-DJWV4-KTTB2-99B7K]
[8GKGV-B6FKM-2JVM3-KJ842-TP7QY]
[DPQFT-GYD77-X72G7-KFCP6-K9P4T]
[HY2DM-YFFDH-M7P8R-XGG4J-63W3Y]
[WHBV2-GQC8P-3CC4G-GYWPK-G7PRT]
[G6QBR-P3DDJ-7MDJ7-7X8FT-F2CH6]
[MWB32-G7RB6-4QWH3-GP2V2-BJB83]
[VJKTC-33Q7W-VMXPR-2JDTK-867CQ]
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
УстановкаWindows9xповерхNT/2000/XP
Автор:Korsar
Можно ли установить Windows 98/МЕ, если уже установлена Windows
2000/XP? (Далее Windows 98 и Windows 2000) Можно. Устанавливать
Windows 98 нужно на винчестер, который разбит на логические диски с
файловойсистемойFAT32.Понадобятсянесколькопрограмм,авсвойствах
папки должен быть включен параметр Показывать все файлы. Так же
понадобятсякомпакт-дискисдистрибутивамиWindows98иWindows2000,
причем,этидискидолжныбытьзагрузочными.
Первая программа Bootpart. При помощи этой программы можно
восстановить загрузчик систем NT. Чтобы в командной строке не писать
много,составьтефайлВАТстекстом
BOOTPARTWINNTBOOT:C:
и сохраните этот файл, например, с именем bp.bat в той же папке, где
находитсяBootpart.exe.
Составьте в текстовом редакторе файл msbatch.inf, в котором напишите
следующее:
[Setup]
CleanBoot=0
Вообще, msbatch.infимеетмного параметров,аоблегчитегосоставление
программа MS Batch 98. Не знаю, жива ли ссылка, но эта программа
обычно идет на диске с дистрибутивом Windows 98 в папке Tools.
ЗапускатьинсталляциюWindows98нужноспараметромmsbatch.inf. Для
этого сохраните этот файл прямо в корне диска С, потом удалите за
ненадобностью.
Следующаяпрограмма,котораяпонадобится,NortonGhost,тольконевесь
пакет10-20МБ,анебольшаяпрограммаизбольшогопакета.Донедавнего
времениэтапрограммкабылаздесь.КакпользоватьсяNortonGhostможно
прочитать здесь. При помощи Norton Ghost необходимо сделать снимок
диска,накоторомустановленаWindows2000,своеобразныйфайлоткатана
случай,есливсеженичегонепомогло.
Обязательно понадобится диск с дистрибутивом Windows 2000. И, на
всякий случай, Service Pack. В корне диска С найдите файл Boot.ini,
сниметеснеговсеатрибутыиоткройтееговтекстовомредакторе.Вфайле
сделайтенекоторыеизменения:
timeout=10 отвечает за задержку в секундах загрузочного меню выбора
системыдлязагрузки;
добавьтевраздел[operatingsystems]строкуC:\="Windows98".
Сохраните файл Boot.ini и установите все его атрибуты на место. Когда
будут существовать на вашем компьютере 2 системы, то при загрузке
компьютера будет выведено загрузочное меню выбора системы для
загрузки. Будет ожидание действий пользователя 10 секунд, после чего
загрузится система по умолчанию. Число 10 я взял условно, вы можете
установить задержку по своему усмотрению, главное, чтобы в параметре
timeoutпослезнака"="стоялоЦЕЛОЕЧИСЛО.
Условимся,кпримеру,чтонадискеСустановленаWindows2000,анадиск
D будет устанавливаться Windows 98. Сделаны все приготовления,
загружаемся с компакт-диска с дистрибутивом Windows 98 и запускаем
установку Windows 98 с параметром msbatch.inf. Для этого в командной
строкенужнонабратьsetup.exec:\msbatch.inf.ПриустановкеWindows98
необходимо выбрать другой диск, т.к. на диске С установлена Windows
2000. Если устанавливать Windows 98 на тот же диск, на котором
установлена Windows 2000, могут возникнуть конфликты в частности с
Internet Explorer и Outlook Express. Т.к., если папку, куда будет
устанавливатьсясистема,можноизменитьприустановке,задавдругоеимя,
топапкуProgramFilesизменитьнетвозможности.Поэтомузаранеевфайл
msbatch.inf можно добавить строку InstallDir="d:\windows", чтобы уже
незаботитьсяодискеназначенияустанавливаемойWindows98.
После установки Windows 98 откажитесь от установкидрайверов,асразу
сделайте загрузочную дискету в Панели управления - Установка и
удаление программ - вкладка Загрузочный диск и перезагрузите
компьютер, загрузившись с этой дискеты. Найдите папку с программой
Bootpart, запустите файл bp.bat и согласитесь на восстановление
загрузчика Windows 2000. Перезагрузите компьютер, но с компакт-диска,
накоторомсодержитсядистрибутивWindows2000.
Запустите установку Windows 2000. После копирования файлов на диск
будет предложено установить систему или восстановить существующую.
Выбираем восстановление, после чего будет предложено восстановить
системучерезконсольвосстановления.Чтобывоспользоватьсяконсолью
восстановления, нужно знать пароль администратора. Выбираем консоль
восстановления, где нужно выбрать папку восстанавливаемой системы,
ввести пароль администратора и ввести команду FIXBOOT. Остается
перезагрузитькомпьютеривыбратьсистемудлязагрузки.Конечно,нужно
выбратьWindows98,т.к.нужноустановитьдроваисофт,атакжеудалить
все папки с баксами ($) на диске С, куда были скопированы временные
файлыустановщикомWindows2000.
Еслисовсемничегонепомогло,хотявсегдапрокатывает,новсеже,тогдау
васестьпаравариантов:
1.УдалитьWindows98иприпомощиNortonGhostвернутьснимокдискас
установленнойWindows2000.
2.УдалитьWindows2000изапуститьееустановкуизWindows98.
ВсеспасибЫшлитенамойсобачийадрес.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
УстанавливаемконсольвосстановленияWindows
XP
Источник:oszone.net
Консольвосстановления-этокоманднаястрока,котораяподдерживает
целыйсписоккоманд,которыемогутбытьиспользованыприустранении
неполадоксвашимкомпьютером,когдавашкомпьютерзапускается
некорректноилиженезапускаетсявовсе.Есливынеможетезагрузитьсяв
режимеSafeMode,тотогдавыдолжныпопробоватьиспользоватьконсоль
восстановления.
ВКонсоливосстановленияWindowsXPвыможетеследующее:
-Использовать,копировать,переименовыватьилизамещатьсистемные
файлыидиректории
-ИсправлятьbootsectorфайловойсистемыилиMasterBootRecord(MBR)
-Включатьиливыключатьсервисыилиустановкуустройствпри
последующемзапускекомпьютера
-Создаватьилиформатироватьразделынадиске
Естьнесколькоспособов,которымивыможетепопастьвКонсоль
восстановления.ВыможетезагрузитьеесWindowsXPCD-ROM,когда
появитсянеобходимость,нолучшебудетустановитьконсоль
восстановлениядопоявлениянеобходимостивней.Плюсустановки
Консоливосстановлениянавашкомпьютерочевидна,выможетезапустить
еенамногобыстрее.
Выдолжныпонять,чтоможетвозникнутьслучаи,когдавынесможете
загрузитьсясвашегожесткогодиска,вэтихслучаяхвамвсеравно
придетсяиспользоватьWindowsXPCD.НодлядругихпроблемКонсоль
восстановления,установленнаянавашкомпьютер,можетбыть
прекраснымрешением.
ДляустановкиКонсоливосстановлениянавашкомпьютер,вам
потребуетсяоколо7Mbсвободногоместа.Дляустановкивамнеобходимо
проделатьследующее:
1.ВовремяиспользованияWindowsXP,вставьтевCD-ROMоригинальный
дискWindowsXPинажмитеВыход,когдапоявитсяокносначалом
установкисистемы.(Выможетепропуститьэто,еслиимеетедиректорию
\i386навашемжесткомдиске)
2.ВыберитеПуск->Выполнитьивпоявившемсяокневведитеe:
{X}:\i386\winnt32.exe/cmdcons
Где{X}должнобытьбуквойдиска,соответствующейCD-ROM.Если
директорияi386ужесодержитсянавашемкомпьютере,товамдостаточно
указатьпутькней,например:C:\i386\winnt32.exe/cmdcons
3.Следуйтеуказаниямдляустановкиконсоли,послезавершенияустановки
перезагрузитекомпьютер
4.Косольвосстановленияпокажетсписокдоступныхоперационных
системвменюзагрузки,дляиспользованияконсоливосстановлениявам
необходимыправаадминистратора
ДляускоренияменюзагрузкивыберитеПуск->Панельуправления->
Система->Дополнительно.НажмитенакнопкеНастройкавменюЗагрузка
иВосстановление.ВразделеЗагрузкасистемывыможетеустановить
время,используемоедляпоказаменюзагрузки(bootmenu).
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
НастройкаконтекстногоменюфайловвWindows
XPи2000
Автор:Korsar
Зачастую,возможностейстандартногоконтекстногоменюфайловне
хватаетдляразличныхзадачпользователей.Ужебыластатьяотом,как
расширитьэтоменю,однако,вWindows2000иWindowsXPможно
добавитьещепарупунктов,которыезаложенывсамойоперационной
системе,нопоумолчаниюневключены.
Ковыряясьочереднойразвреестре,обратилвниманиенадваинтересных
раздела{C2FBB630-2971-11d1-A18C-00C04FD75D13}и{C2FBB631-297111d1-A18C-00C04FD75D13}сосвоимипараметрами,которыеотвечаютза
копированиеиперемещениефайловвWindows.Вобщем,этидве
возможности,"Копироватьвпапку"и"Переместитьвпапку",можно
включитьвконтекстноеменюфайлов.
Этидвапунктавызываютстандартноеокнодлякопированияили
перемещенияфайла.Пользоватьсяимигораздоудобнее,чемоткрывать
отдельноеокноснужнымкаталогом,апотомперетаскиватьвнегофайлы.
Чтобывключитьновыепунктывконтекстноеменюнадосоздатьразделыи
параметрывреестре:
-длякопирования
[HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\Copyto]
@="{C2FBB630-2971-11d1-A18C-00C04FD75D13}"
-дляперемещения
[HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\Moveto]
@="{C2FBB631-2971-11d1-A18C-00C04FD75D13}"
Впримерепунктыменюпоявятсяувсехфайловипапок.Чтобыдобавить
ихтольковфайлысконкретнымрасширением,надодобавлятьзаписив
разделshellexэтихфайлов.Так,длятекстовыхфайловэтобудетвыглядеть
такимобразом:
-длякопирования
[HKEY_CLASSES_ROOT\txtfile\shellex\ContextMenuHandlers\Copyto]
@="{C2FBB630-2971-11d1-A18C-00C04FD75D13}"
-дляперемещения
[HKEY_CLASSES_ROOT\txtfile\shellex\ContextMenuHandlers\Moveto]
@="{C2FBB631-2971-11d1-A18C-00C04FD75D13}"
Изначальноразделаshellexтамнет.Надосоздатьегоивсеподразделы
самостоятельно.
Ксожалению,этоработаеттольковWindows2000иXP.Перезагрузка
компьютеранепонадобится.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
Настройкаменю"Пуск"вWindowsXP
WindowsXPдовольнодалекошагнулавпередвпланенастройки
пользовательскогоинтерфейса.Теперьмногиенастройкиможнопроводить
спомощьюразличныхдиалогов,программ,специальныхсредств,
встроенныхвоболочкуоперационнойсистемы.ЕсливтомжеWin98,
чтобыскрытькакие-топунктыиз"Пуска",необходимобылоредактировать
реестрилипользоватьсяразличнымитвикерамистороннихразработчиков,
тотеперьемуможнопридатьлюбойвидвоспользовавшисьсвойствами
панелизадачименю"Пуск"(иэтонеединственныйспособ).Однако,
прямоередактированиереестранепотерялосвоейактуальности.Есливы
настраиваетевидменюодинраздлясебя,толезтьвреестрнеобязательно,
ноесливамнеобходимоповторитьэтупроцедурунадесяткекомпьютеров,
топрощеодинразсделатьreg-файл,апотомпростозапуститьегонавсех
компьютерах.
Раньшеяужеписалотом,какможноизменитьвидменювWindows9x,
однаковХРпроизошлисущественныеизмененияикнемногочисленным
старымнастройкамдобавилосьоченьмногоновых.Итак,посмотрим,что
женампредлагаетвэтомпланеMicrosoft.
Всепараметры,влияющиенавидменю,находятсявразделе
HKEY_CURRENT_USER\Software\Microsoft\Windows\
CurrentVersion\Policies\Explorer
Есливыхотите,чтобыонибылиприменимыдлявсехпользователей,
параметрынеобходимосоздаватьвразделе
HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\
CurrentVersion\Policies\Explorer
ВсеониимеюттипDWORDи,еслиэтонеоговореноособо,значение1
включаетэтунастройку,аудалениесоответствующегопараметраили
присвоениеемузначения0-отключает.
Итак,пройдемсяпопараметрам(некоторыемогутпоказатьсявам
знакомыми-ничегоудивительного-ониосталисьещесовременWin9x.
НекоторыепараметрыработаюттольковWindowsXPProfessional):
NoSimpleStartMenu-форсироватьклассическоеменю"Пуск"-в
свойствахменю"Пуск"становитсянедоступнымпереключательнавид
менювстилеХРиработатьтеперьможнотолькосклассическимвидом
меню"Пуск";
NoStartMenuPinnedList-удаляетфиксированныйсписокпрограммиз
меню"Пуск",атакжезначки"Интернет"и"Электроннаяпочта";
NoStartMenuMFUprogramsList-удаляетсписокчастоиспользуемых
программ;
NoStartMenuMorePrograms-удаляетопцию"Всепрограммы"изменю
"Пуск";
NoCommonGroups-удаляетгруппыпрограммобщегоназначения(это
элементыпрофиляAllUsersвсписке"Всепрограммы");
GreyMSIAds-отображаетчастичноустановленныепрограммысерым
цветом;
NoWindowsUpdate-блокируетиудаляетссылкинаWindowsUpdate.
Такжеблокируетсядоступксайтуwindowsupdate.microsoft.com;
DisableMyPicturesDirChange-запрещаетменятьпутькпапке"Мои
рисунки";
DisableMyMusicDirChange-запрещаетменятьпутькпапке"Моямузыка";
DisableFavoritesDirChange-запрещаетменятьпутькпапке"Избранное";
NoStartMenuMyMusic,NoSMMyPictures,NoFavoritesMenu,
NoRecentDocsMenu-удаляетвсепапкипользовательскойоболочкииз
меню"Пуск"(кроме"Моихдокументов"),атакжеудаляет
соответствующиефлажки,расположенныевдиалоговомокненастройки
меню"Пуск";
NoSMMyDocs-удаляетпапку"Моидокументы"изменю,атакже
соответствующийфлажоквдиалоговомокненастройкименю"Пуск";
DisablePersonalDirChange-препятствуетпользователюизменитьпутьк
папке"Моидокументы";
MaxRecentDocs-значениеэтогопараметрасоответствуетмаксимальному
количествуярлыков,указывающихнапоследниеоткрываемыедокументы,
которыедолжныотображатьсявподменю"Недавниедокументы";
ClearRecentDocsOnExit-очищаетсписокнедавноиспользованных
документовпривыходепользователяизсистемы;
NoRecentDocsMenu-удаляетпункт"Недавниедокументы"изменю
"Пуск";
NoFavoritesMenu-удаляетменю"Избранное",атакжесоответствующие
флажкивдиалоговомокненастройкиПуска;
NoNetworkConnections-удаляетэлемент"Сетевоеокружение",
находящийсявменю"Пуск"вместессоответствующимфлажкомвокне
настройки;
NoStartMenuNetworkPlaces-удаляетэлемент"Сетевыеподключения"
меню"Пуск"исоответствующийфлажококнанастройки;
NoRecentDocsNetHood-запрещаетдобавлятьилиудалятьсовместно
используемыепапкив/из"Сетевыеподключения",всякийразкогда
пользовательоткрываетдокумент,находящийсявсовместноиспользуемой
папке;
NoSMHelp-удаляетпункт"Справкаиподдержка"изменю"Пуск";
NoFind-удаляеткоманду"Поиск"вменю"Пуск"иотключает
соответствующуюопциювдиалоговомокненастройки;
NoRun-удаляеткоманду"Выполнить",отключаетфлажоквокне
настройки,отключаетвозможностьзапускапрограммвДиспетчерезадач,
блокируетнажатиеклавишWin+R;
MemCheckBoxInRunDlg-добавляетфлажок"Запуститьвотдельной
областипамяти"вдиалоговоеокно"Запускпрограммы",который
позволяетвыполнить16-разрядныеприложениявотдельныхвиртуальных
DOS-машинах;
NoSetTaskbar-блокируетвозможностьвнесениялюбыхизмененийв
установкипанелизадачименю"Пуск",атакжеудаляетэлементПанель
задачименю"Пуск"вПанелиуправленияивменю"Пуск";
NoInstrumentation-блокируетвозможностьзапоминаниясистемой
информацииоранееиспользуемыхпрограммах,путяхидокументах;
NoUserNameInStartMenu-удаляетимяпользователяизменю"Пуск";
NoResolveSearch-препятствуетсистемеосуществлятьпоискцелевого
устройствапоегоярлыку;
NoResolveTrack-блокируетфункциональныевозможностисистемыпо
отслеживаниюNTFS,припоискецелевыхфайловярлыковоболочки;
ForceStartMenuLogoff-блокируетдляпользователявозможность
удаленияопции"Выходизсистемы"меню"Пуск";
StartmenuLogoff-отключаетопциюLogoffменю"Пуск"ипрепятствует
пользователямвключитьеевсоставменю;
NoClose-удаляетопцию"Завершениеработы"вменю"Пуск"иблокирует
дляпользователейвозможностьвыключениясистемысиспользованием
стандартныхсредствпользовательскогоинтерфейса;
NoChangeStartMenu-блокируетмодификации,производимыепо
принципуdrag-and-dropвменю"Пуск";
HKEY_CURRENT_USER\Software\Microsoft\Windows\
CurrentVersion\Policies\NonEnum\{20D04FE0-3AEA-1069-A2D808002B30309D}-удаляетэлемент"Мойкомпьютер"изменюиблокирует
соответствующийфлажоквдиалоговомокненастройки.
Чтобывамнепришлосьвручнуюписатьreg-файл,япривожунижеегокод,
совсемиперечисленнымивышепараметрами.Простоуберитезнак";"в
началестроки,параметркоторойхотитедобавитьвреестр,изапустите
файлнавыполнение.
REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
;"NoSimpleStartMenu"=dword:00000001
;"NoStartMenuPinnedList"=dword:00000001
;"NoStartMenuMFUprogramsList"=dword:00000001
;"NoStartMenuMorePrograms"=dword:00000001
;"NoCommonGroups"=dword:00000001
;"GreyMSIAds"=dword:00000001
;"NoWindowsUpdate"=dword:00000001
;"DisableMyPicturesDirChange"=dword:00000001
;"DisableMyMusicDirChange"=dword:00000001
;"DisableFavoritesDirChange"=dword:00000001
;"NoStartMenuMyMusic"=dword:00000001
;"NoSMMyPictures"=dword:00000001
;"NoFavoritesMenu"=dword:00000001
;"NoRecentDocsMenu"=dword:00000001
;"NoSMMyDocs"=dword:00000001
;"DisablePersonalDirChange"=dword:00000001
;"MaxRecentDocs"=dword:00000010
;"ClearRecentDocsOnExit"=dword:00000001
;"NoRecentDocsMenu"=dword:00000001
;"NoFavoritesMenu"=dword:00000001
;"NoNetworkConnections"=dword:00000001
;"NoStartMenuNetworkPlaces"=dword:00000001
;"NoRecentDocsNetHood"=dword:00000001
;"NoSMHelp"=dword:00000001
;"NoFind"=dword:00000001
;"NoRun"=dword:00000001
;"MemCheckBoxInRunDlg"=dword:00000001
;"NoSetTaskbar"=dword:00000001
;"NoInstrumentation"=dword:00000001
;"NoUserNameInStartMenu"=dword:00000001
;"NoResolveSearch"=dword:00000001
;"NoResolveTrack"=dword:00000001
;"ForceStartMenuLogoff"=dword:00000001
;"StartmenuLogoff"=dword:00000001
;"NoClose"=dword:00000001
;"NoChangeStartMenu"=dword:00000001
;[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion
\Policies\NonEnum\{20D04FE0-3AEA-1069-A2D8-08002B30309D}]
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
WindowsScriptHost(WSH)
WindowsScriptHost,илисокращенноWSH,являетсяоднойиз
интереснейшихтем,рассматриваемыхприработесWindows.Именно
благодаряскриптам,написаннымнаязыкеJScriptилиVBScript,можно
существеннооблегчитьсвойтруднакомпьютере,избавитьсяотмассы
рутиннойработы,автоматизироватьмногиеоперацииипроцессы,даи
простопоприкалыватьсянаддрузьями.
ПараметрызапускасценариевКакнаиболееполноконтролировать
процессзапускаиработыWSH-скриптовспомощьюпараметровсервера
сценарияифайлапараметровWindowsScriptHost.
читатьдальше
Обработкаисключений
ДовольноважныймоментприработесWSH-скриптами.Некоторыезадачи
вообщеневозможнорешитьбезобработкиисключений
читатьдальше
Файлыипапки
Какработатьсовсемифайламиипапками,находящимисяводной
директории,сразу,анеперебиратьихпоодномупоименно
читатьдальше
MSOffice
РаботасActiveXобъектаминапримереWordиExcel.Высшийпилотаж.
Дальнейшееразвитиетемыуправленияприложениями
читатьдальше
Управлениепрограммами
Пожалуй,самаязрелищнаявозможностьWSH.ДелаемнаJScriptза15
минутто,чтотребуетдесяткачасовнапряженногопрограммированияна
C++
читатьдальше
Работассетевымокружением
Ещеоднаважнаятема.Какойадминобойдетсябезуправлениясетьюи
объектамисетевогоокружения?
читатьдальше
Чтениеиредактированиефайлов
Хотитеотредактироватьфайл?Проверитьналичиестрокивautoexec.bat?
Вестилогработынакомпьютере?Легко!
читатьдальше
Файловаясистема
Одинизключевыхвопросов,бездоскональногознаниякоторогонельзя
писатьполноценныескрипты
читатьдальше
Ярлыки
Возможностьсоздаватьярлыкиназапусклюбогофайлапоройприносит
весьманемалопользы
читатьдальше
Запускпрограмм
Дажевтакомпростомделе,какзапускпрограмм,виднонеоспоримое
превосходствоWSHнадbat-файлами
читатьдальше
Теория,реестр
ВстатьерассматриваютсяосновыработысWSH,атакжеработас
реестромWindows(добавление,редактирование,изменениеинформации)
читатьдальше
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
//JScript
//СоздаемЕкселевскийобъект,сметодамиисвойствамикоторогобудем
работать
varobjXL=WScript.CreateObject("Excel.Application");//Делаемокно
видимымисоздаемрабочуюкнигу
objXL.Visible=true;
objXL.WorkBooks.Add;
//Устанавливаемширинупервыхтрехколонок
objXL.Columns(1).ColumnWidth=20;objXL.Columns(2).ColumnWidth=30;
objXL.Columns(3).ColumnWidth=40;
//Перваястрокабудетунасшапкойтаблицы
//Заполняемзначенияячеек
objXL.Cells(1,1).Value="Названиесвойства";objXL.Cells(1,2).Value=
"Значение";objXL.Cells(1,3).Value="Описание";
//Форматируемячейки,чтобывсебылокрасиво
objXL.Range("A1:C1").Select;
objXL.Selection.Font.Bold=true;objXL.Selection.Interior.ColorIndex=1;
objXL.Selection.Interior.Pattern=1;objXL.Selection.Font.ColorIndex=2;
objXL.Columns("B:B").Select;
objXL.Selection.HorizontalAlignment=-4131;
//Вводимсчетчикстрок,кудабудемзаписыватьинформацию
varintIndex=2;
//Аэтафункциякакразибудетвыводитьнашуинформациюпострочно
functionShow(strName,strValue,strDesc){
objXL.Cells(intIndex,1).Value=strName;objXL.Cells(intIndex,2).Value=
strValue;objXL.Cells(intIndex,3).Value=strDesc;intIndex++;
objXL.Cells(intIndex,1).Select;}
//Итак,заполнимтаблицуданнымиоверсииwscriptустановленнойна
компьютере
Show("Name",WScript.Name,"ApplicationFriendlyName");Show("Version",
WScript.Version,"ApplicationVersion");Show("FullName",
WScript.FullName,"ApplicationContext:FullyQualifiedName");
Show("Path",WScript.Path,"ApplicationContext:PathOnly");
Show("Interactive",WScript.Interactive,"StateofInteractiveMode");//Докучи
добавимсведенияопараметрах,скоторымизапускаетсяскрипт
varcolArgs=WScript.Arguments;
Show("Arguments.Count",colArgs.length,"Numberofcommandline
arguments");for(i=0;i<colArgs.length;i++){
objXL.Cells(intIndex,1).Value="Arguments("+i+")";
objXL.Cells(intIndex,2).Value=colArgs(i);intIndex++;objXL.Cells(intIndex,
1).Select;}
DimobjXL
SetobjXL=WScript.CreateObject("Excel.Application")objXL.Visible=TRUE
objXL.WorkBooks.Add
objXL.Columns(1).ColumnWidth=20
objXL.Columns(2).ColumnWidth=30
objXL.Columns(3).ColumnWidth=40
objXL.Cells(1,1).Value="Названиесвойства"
objXL.Cells(1,2).Value="Значение"
objXL.Cells(1,3).Value="Описание"
objXL.Range("A1:C1").Select
objXL.Selection.Font.Bold=True
objXL.Selection.Interior.ColorIndex=1
objXL.Selection.Interior.Pattern=1
objXL.Selection.Font.ColorIndex=2
objXL.Columns("B:B").Select
objXL.Selection.HorizontalAlignment=&hFFFFEFDD;
DimintIndex
intIndex=2
SubShow(strName,strValue,strDesc)objXL.Cells(intIndex,1).Value=
strNameobjXL.Cells(intIndex,2).Value=strValueobjXL.Cells(intIndex,
3).Value=strDescintIndex=intIndex+1
objXL.Cells(intIndex,1).SelectEndSub
CallShow("Name",WScript.Name,"ApplicationFriendlyName")Call
Show("Version",WScript.Version,"ApplicationVersion")Call
Show("FullName",WScript.FullName,"ApplicationContext:FullyQualified
Name")CallShow("Path",WScript.Path,"ApplicationContext:PathOnly")
CallShow("Interactive",WScript.Interactive,"StateofInteractiveMode")Dim
colArgs
SetcolArgs=WScript.Arguments
CallShow("Arguments.Count",colArgs.Count,"Numberofcommandline
arguments")Fori=0tocolArgs.Count-1
objXL.Cells(intIndex,1).Value="Arguments("&i&")"
objXL.Cells(intIndex,2).Value=colArgs(i)intIndex=intIndex+1
objXL.Cells(intIndex,1).SelectNext
//JScript
//СоздаемобъектдляработысВордом
varwrd=newActiveXObject("Word.Application");//Создаемновый
документ
wrd.Documents.Add();
//Получаемуказательнаактивныйдокумент
adoc=wrd.ActiveDocument;
//Указательнаобластьвдокументе
myRange=adoc.Range(Start=0,End=0)//АктивизируемВорд
wrd.Visible=true;
wrd.Activate();
//Создаемтаблицусоднойстрокойитремястолбцами
tb0=adoc.tables.Add(Range=myRange,NumRows=1,NumColumns=3);//
Задаемширинустолбцов
tb0.Columns(1).Width=80;
tb0.Columns(2).Width=160;
tb0.Columns(3).Width=160;
//Заполняемзаголовоктаблицы
tb0.Cell(1,1).Range.InsertAfter("Названиесвойства");
tb0.Cell(1,2).Range.InsertAfter("Значение");
tb0.Cell(1,3).Range.InsertAfter("Описание");
//Счетчикстрок
intIndex=2;
//Выводимаявстрокахтаблицыинформация
Show("Name",WScript.Name,"ApplicationFriendlyName");Show("Version",
WScript.Version,"ApplicationVersion");Show("FullName",
WScript.FullName,"ApplicationContext:FullyQualifiedName");
Show("Path",WScript.Path,"ApplicationContext:PathOnly");
Show("Interactive",WScript.Interactive,"StateofInteractiveMode");
//Нуисамафункциядлявыводастрок
functionShow(strName,strValue,strDesc){
tb0.Rows.Add();tb0.Cell(intIndex,1).Range.InsertAfter(strName);
tb0.Cell(intIndex,2).Range.InsertAfter(strValue);tb0.Cell(intIndex,
3).Range.InsertAfter(strDesc);intIndex++;}
Надеюсь,сзадачейуказанияосновногонаправленияприработесMS
Office,мнеудалосьсправиться.Дальшевсезависитотвашеготерпенияи
знанияанглийскогоприпереводесправки.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
WindowsScriptHost(WSH)-запускпрограмм
ВпредыдущейстатьеярассказалобосновахWSHипривелпример
скриптадляработысреестром(добавлениеиудалениезаписей).Здесьмне
быхотелосьпродолжитьобсуждениеэтойинтереснойтемыипредложить
вашемувниманиюещенесколькоскриптов,полнеераскрывающих
возможностиWindowsScriptHost.
Дляначала,хотелосьбыпривестинебольшойскрипт,которыйпозволяет
запускатьразличныепрограммы(впримереБлокнот),атакжепоказать
выводдиалоговогоокнасзапросомозапускепрограммы.
//Примерзапускапрограммысдиалоговымокномзапроса
//наJScript
varvbOKCancel=1;
varvbInformation=64;
varvbCancel=2;
varMessage="ВыдействительнохотитезапуститьпрограммуNotepad?";
varTitle="Подтвердитедействие";
Welcome();
varWSHShell=WScript.CreateObject("WScript.Shell");
WSHShell.Run("notepad",5);
functionWelcome(){
varWSHShell=WScript.CreateObject("WScript.Shell");
varintDoIt;
intDoIt=WSHShell.Popup(Message,
0,
Title,
vbOKCancel+vbInformation);
if(intDoIt==vbCancel){
WScript.Quit();
}
}
Впервыхпятистрокахописываютсяпеременные,которыенам
потребуютсяпривызовефункцииWelcome().Этафункциявыдаетнаэкран
окносзапросомназапускпрограммыивслучаеположительногоответа
продолжаетсявыполнениескрипта.Еслиответотрицательный,выполнение
прерывается.Строка
WSHShell.Run("notepad",5);
запускаетБлокнот.Мыещерассмотримееподробнеечутьпозже,апока
обратитевниманиенато,чтообъектWSHShellсоздаетсядважды:одинраз
вфункцииWelcome()ивторойразнепосредственнопередзапуском
Блокнота.Закономерныйвопрос:анельзялиобойтисьоднимсозданием
объекта?ЕслизакомментироватьстрокупередзапускомБлокнотаи
попробоватьопятьзапуститьскрипт,тобудетвыданаошибкачто
определениеWSHShellотсутствует.Почемутакпроисходит?Ведьфункция
Welcome()вызываетсядозапускапрограммыиследовательносоздание
объектаWSHShellпроисходитдовызоваметодазапускапрограммы.Да
простятменяпрограммистызато,чтомнеприходитсяподробноописывать
такиеэлементарныевещи,ноневсезнакомыспрограммированиемис
такимтерминомкак"областьвидимости".ТаккакобъектWSHShell
создаетсявнутрифункции,тоонбудетсуществоватьтолькодотехпор,
покамыизэтойфункцииневыйдем.Т.е.запределамиWelcome()объекта
WSHShellнет,поэтомуипоявляетсяошибка.Давайтенемного
модифицируемскрипт,чтобыобъектWSHShellописатьтолькоодинраз:
//Примерзапускапрограммысдиалоговымокномзапроса
//наJScript
varvbOKCancel=1;
varvbInformation=64;
varvbCancel=2;
varMessage="ВыдействительнохотитезапуститьпрограммуNotepad?";
varTitle="Подтвердитедействие";
varWSHShell=WScript.CreateObject("WScript.Shell");
Welcome();
WSHShell.Run("notepad",5);
functionWelcome(){
varintDoIt;
intDoIt=WSHShell.Popup(Message,
0,
Title,
vbOKCancel+vbInformation);
if(intDoIt==vbCancel){
WScript.Quit();
}
}
ТеперьсозданиеWSHShellпроисходитдовызовафункцииWelcome()и
создаватьегоповторновнутрифункциинетнеобходимости.Такая
переменнаяназываетсяглобальной.Т.е.онасуществуетнапротяжении
всеговременивыполненияскриптаивиднавовсехфункциях.Переменная
котораясоздаетсявнутрифункцииивиднатольковэтойфункции
называетсялокальной.
ДавайтевернемсякстрокеWSHShell.Run("notepad",5);ирассмотримее
подробнее.ПривызовеметодаRunпередаются2переменных.Еслис
первойвсепонятно-этоимязапускаемогофайла(т.к.файлnotepad
находитсявкаталогеWindows,которыйприсутствуетвпеременнойсреды
окруженияPath,томожнонеуказыватьполныйпутькнему.Впротивном
случаедлязапускапрограммынадоуказыватьееполноеимя,например:
"C:\polniy\put_k\programme\file.exe"),тосовторойневсетакпросто.Эта
цифрауказываетсостояниеокназапускаемойпрограммы.Онаможет
приниматьдесятьразличныхзначенийот0до9,новсеяописыватьне
буду,арасскажутолькопросамыеинтересные:
0-запускатьпрограммувскрытомокне.Т.е.есливыпопытаетесь
запуститьБлокнотстакимзначениемвторойпеременной,тоокно
программыбудетневидимымикнопканапанелизадачнебудетсоздана.
ЧтобыувидетьчтоБлокнотвсе-такизапустился,нажмитеCtrl+Alt+Delи
выувидитетамстрокустекстомNotepad.
6-запуститьпрограммуминимизированной.Приэтомактивнымбудет
следующееокновZ-последовательности.
2-запуститьпрограммуминимизированной.
3-запуститьпрограммумаксимизированной.
5-запуститьпрограммустекущимиразмеромипозициейокна.
Остальныезначениянетакинтересныиявляютсявариацияминатему.
Еслиинтересно,можетесамипоэкспериментироватьсэтойпеременной.
Вконцестатьихотелосьбыпривестинебольшойскриптик.Яоставлюего
безкомментария,т.к.оноченьпростой.Запуститеегоипосмотритев
действиисамостоятельно;).
//Простонебольшойзабавныйпримерчик;)
//языкJScript
varWSHShell=WScript.CreateObject("WScript.Shell");
do{
WSHShell.Popup("Hello,World!");
}while(true);
ЯнесталприводитьэтипримерывисполнениинаVBScript-желающие
легкосмогутосуществитьэтосамостоятельно.Есличтонеполучится,
обратитеськпредыдущемуматериалу,тамбылоописанокороткоразличие
междуJSиVBS.
Наэтомпокавсе,нотемаещенезакрыта.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
WindowsScriptHost(WSH)-обработка
исключений
Вначалестоитопределитьсястерминами,ведьеслилюбойпрограммист
прекраснознаетчтотакое"исключения",тоостальныедалеконевсеточно
представляюточемидетречь.Говоряпростымязыкомисключенияили
исключительныеситуации-этоошибки,возникающиевходеработы
программы(внашемслучаескрипта).Ноэтонетеошибки,когдавы
забылипоставитьзакрывающуюскобку,запятуюилиошиблисьвимени
переменной.Этоошибки,возникающиевнекоторых(исключительных)
ситуацияхвовремявыполненияРАБОЧЕГОскрипта.
РассмотримпростенькийпримерскриптанаVBScript,пытающегося
прочитатьзначениекакого-топараметравреестреивыдатьегов
сообщении:
DimPerem
setWSHShell=WScript.CreateObject("WScript.Shell")
WSHShell.Popup"Началоскрипта"
Perem=""
Perem=WSHShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Exp
WSHShell.PopupPerem
WSHShell.Popup"Конецскрипта"
Сообщение"Началоскрипта"появилось,следовательно,синтаксических
ошибокмынедопустили,новотзатемпоявляетсясообщениеобошибке
чтоинеудивительно-параметрасименемTestвразделе
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorerнесуществует.
Из-заэтогонашпримернеотработалдоконца.Возникаетлогичный
вопрос:анельзяликаким-тообразомотловитьмоментпоявленияошибки,
как-тоегообработатьипродолжитьвыполнениескриптадальше?
Оказывается,можно.Перепишемнашпримерследующимобразом:
DimPerem
setWSHShell=WScript.CreateObject("WScript.Shell")
WSHShell.Popup"Началоскрипта"
Perem=""
OnErrorResumeNext
GetErr()
ifErr.Source="WshShell.RegRead"then
Perem="Параметрнесуществует"
else
Perem=WSHShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersio
endif
Err.Clear
WSHShell.PopupPerem
WSHShell.Popup"Конецскрипта"
FunctionGetErr()
IfWSHShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Exp
EndIf
EndFunction
Попыткапрочитатьпараметризреестравынесенавотдельнуюфункцию.
Еслипроисходитошибка-функциявозвращаеткодошибки(Err.Number)и
источник(Err.Source).Воператореifмыпроверяемталиэтоошибка,что
намнужнаиеслиэтоименнотак,значитпараметрнеудалосьпрочитатьпо
причинеегоотсутствия,очемнасчестноипредупреждаютвпоявившемся
сообщении.Приэтомскрипткорректноотрабатываетдоконца.Еслиже
ошибкиневозникло,мыспокойнопрочитываемзначениенужногонам
параметра.
ОбратитевниманиенаобъектErr.ЭтостандартныйобъектVBScript,
содержащийинформациюотакназываемыхrun-timeerrors(ошибках
временивыполнения).СвойствоSourceуказываетнаисточникошибки(в
сообщениинарисункеэтопоследняястрока).МетодClearочищает
свойстваобъекта,удаляясведенияобошибке.ПомимоSourceиClearу
объектаестьидругиесвойстваиметоды,нореальноможетпонадобиться,
пожалуй,свойствоNumberиDescription.Numberвозвращаеткод
произошедшейошибки,аDescriptionееописание.Изменитевскрипте
строку
Perem="Параметрнесуществует"
на
Perem="Ошибка"&Err.Number&"."Err.Description
Вовремявыполненияскриптапоявитсясообщение:"Ошибка-2147024894.
Неудаетсяоткрытьдлячтенияразделреестра
"HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Test"".Это
большоеотрицательноечислоиестькодошибки.Приобработке
исключенийможнопользоватьсяиномерамиошибок.
Почемудляобъясненияработысисключениямияобъяснялвсепримерына
чтенииданныхизреестра?Во-первых,работасреестромвWSHоднаиз
наиболеечастовстречаемыхзадач,во-вторых,другиеошибки(например,
попыткаподмапироватьсетевойдискнаужесуществующуюбукву,
попыткаоткрытиянесуществующегофайлаит.п.)могутбытьобработаны
другимиспособами(приоткрытиифайламожноспервапроверитьего
наличиеспомощьюметодаFileExistsобъектаfso),втовремякакпроверка
наличиякакого-либопараметравреестреотсутствуетвпринципе.Поэтому
вопросыобработкиисключенийприработесреестромнаиболее
актуальны.
Принципыобработкидругихошибокничемнеотличаютсяотприведенных
выше,такчтотеперьвынаоснованииматериаладаннойстатьилегко
сможетеотловитьлюбыеисключениявозникающиеприработескрипта.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
WindowsScriptHost(WSH)-параметрызапуска
сценариев
МаксимКолыванов
Файлы скриптов WSH (Windows Script Host) могут обрабатываться двумя
утилитами серверов сценариев: cscript.exe (консольный вариант) и
wscript.exe (GUI-вариант). Чтобы запустить написанный скрипт, можно
простодваждыщелкнутьлевойкнопкоймышипонемувокнепроводника.
При этом сценарий запустится с настройками по умолчанию. Чтобы
сценарий работал с другими параметрами, нужно в командной строке
указатьимясерверасценариев,имясамогосценарияипараметрызапуска.
Синтаксискомандывыглядитследующимобразом:
CScriptимя_сценария.расширение[параметры...][аргументы...]
Полныйсписокпараметровдлясерверасценариевследующий:
//B
//D
//E:ядро
//H:CScript
//H:WScript
//I
//Job:xxxx
//Logo //Nologo
//S
//T:nn //X
//U
Пакетныйрежим:подавляютсяотображениеошибокизапросовсцена
ВключениережимаActiveDebugging
Использованиеуказанногоядрадлявыполнениясценария
СтандартныйсерверсценариевзаменяетсянаCScript.exe
СтандартныйсерверсценариевзаменяетсянаWScript.exe(поумол
Диалоговыйрежим(поумолчанию,впротивоположность//B)
ВыполнениеуказанногозаданияWSF
Отображатьсведенияопрограмме(поумолчанию)
Неотображатьсведенияопрограммевовремявыполнения
Сохранитьдляданногопользователятекущиепараметрыкомандной
Интерваложидания(всекундах):максимальноевремявыполнения
Выполнениесценариявотладчике
ИспользованиекодировкиЮникодприперенаправленииввода-вывода
Аргументы передаются непосредственно в сценарий (аналогично batфайлам).
Однако,такойвариантзапускаизменитпараметрыпоумолчаниюдлявсех
запускаемыхвпоследствиисценариев.Есливэтомнетнеобходимости,есть
возможность задать свои параметры для каждого отдельного файла
сценария, более того, можно задать несколько вариантов запуска одного и
того же сценария. Для этих целей служит файл с расширением wsh. Он
представляет собой обычный текстовый файл и по своей структуре очень
похожнаinfилиiniфайл.Чтобысоздатьпростейший*.wshфайлоткройте
свойства любого скрипта и на вкладке "Сценарий" измените любой
параметр. После нажатия на "OK" в том же каталоге появится файл с
аналогичным именем и расширением wsh. Вот пример одного из таких
файлов:
[ScriptFile]
Path=G:\files\p010.js
[Options]
Timeout=0
DisplayLogo=1
Всекции[ScriptFile]естьтолькоодинпараметр-Path,которыйуказывает
на запускаемый скрипт, в секции [Options] перечисляются параметры для
запускаэтогоскрипта.
Если теперь запустить созданный нами файл, он будет выполняться с
настроеннымипараметрами.
Возможность указания параметров при старте сценариев является,
безусловно, очень полезной и позволяет более тонко контролировать
процессработыскрипта.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
WindowsScriptHost(WSH)-работассетевым
окружением
Наконец-томыдобралисьидоработыссетью.Пожалуй,этооднаизсамых
важныхтемприобсуждениивопросовWSH.Ведьосновнойконтингент
пользователей,которымнаиболееполезенWSH-сетевыеадминистраторы.
Ну,аразонисетевые,тоиработатьдолжныссетью:).Ноэтовселирика,
перейдемкпрактике.
Дляработыскакими-тообъектамисетиисетевогоокружениявWSHесть
объектWshNetwork,позволяющийполучатьинформациюобимени
пользователя,компьютера,подключатьиотключатьсетевыедискии
принтеры.
Рассмотримнебольшойпример,вкоторомвыведемвинформационное
окносведенияобименипользователя,именикомпьютераидомене:
//ПримерработысWshNetworkвJScript
//СоздаемобъектWshNetwork
varWshNetwork=newActiveXObject("WScript.Network");
//Создаемпеременнуюinfoизаносимтудаимяпользователя
info="Имяпользователя:"+WshNetwork.UserName;
//Добавляемпереходнаследующуюстроку
info=info+"\n";
//Добавляемимякомпьютера
info=info+"Имякомпьютера:"+WshNetwork.ComputerName;
info=info+"\n";
//Добавляемдомен,ккоторомуподключилсяпользователь
info=info+"Домен:"+WshNetwork.UserDomain;
//Выводимнаэкранполученнуюинформацию
WScript.Echo(info);
'ТотжепримернаVBScript
SetWshNetwork=CreateObject("WScript.Network")
info="Имяпользователя:"&WshNetwork.UserName
'Обратитевнимание,какосуществляетсяпереходнановуюстроку
info=info&Chr(10)
info=info&"Имякомпьютера:"&WshNetwork.ComputerName
info=info&Chr(10)
info=info&"Домен:"&WshNetwork.UserDomain
WScript.Echoinfo
ВэтихпримерахмыиспользовалисвойстваобъектаWshNetwork:
UserName,ComputerNameиUserDomainдляполученияинформациио
залогинившемсяпользователе.Зачемэтоможетпонадобиться?Например,
еслинакомпьютереработаетнесколькопользователейиимнужендоступк
разнымсетевымдискам,можнообеспечитьавтоматическоемапирование
этихдисковвзависимостиоттого,какойпользовательсейчасработает.
Такимобразоммынезаметноподошликвопросуработыссетевыми
дисками.Дляначала,неплохобывыяснить,какиесетевыедиски
подключенывданныймомент:
//JScript
varvbOKOnly=0;
varvbInformation=64;
varWSHShell=WScript.CreateObject("WScript.Shell");
varWSHNetwork=WScript.CreateObject("WScript.Network")
varcolDrives=WSHNetwork.EnumNetworkDrives();
if(colDrives.length==0){
WSHShell.Popup("Подключенныхсетевыхдисковнет",
0,
"РаботасWSHNetwork",
vbInformation+vbOKOnly);
}else{
strMsg="Текущиесетевыеподключения:\n";
for(i=0;i<colDrives.length;i+=2){
strMsg=strMsg+"\n"+colDrives(i)+"\t"+colDrives(i+1);
}
WSHShell.Popup(strMsg,
0,
"РаботасWSHNetwork",
vbInformation+vbOKOnly);
}
'VBScript
SetWSHNetwork=WScript.CreateObject("WScript.Network")
SetcolDrives=WSHNetwork.EnumNetworkDrives
IfcolDrives.Count=0Then
MsgBox"Подключенныхсетевыхдисковнет",_
vbInformation+vbOkOnly,_
"РаботасWSHNetwork"
Else
strMsg="Текущиесетевыеподключения:"&Chr(10)
Fori=0TocolDrives.Count-1Step2
strMsg=strMsg&Chr(10)&colDrives(i)&Chr(9)&colDrives(i+1)
Next
MsgBoxstrMsg,_
vbInformation+vbOkOnly,_
"РаботасWSHNetwork"
EndIf
Думаю,подробнокодобъяснятьнестоит,вседовольнопрозрачно:создаем
нужныепеременные,проверяеместьливообщеподключенныедиски,если
нет-выводимсоответствующеесообщение,еслиесть-выводимихсписок.
Дляподключенияиотключениясетевыхдисковсуществуютметоды
MapNetworkDriveиRemoveNetworkDriveсоответственно.Пример
работысними(наJScript):
WshNetwork.MapNetworkDrive("X:","\\\\S2\\Vol1","true","User1","123");
Здесьобязательнымиявляютсятолькопервыедвапараметра:буква,на
которуюбудетподключатьсядиски,собственно,путьксетевомудиску.
Третий(trueилиfalse)параметруказывает,осуществлятьилинет
подключениеэтогодискаприследующемлогоне.Четвертыйипятый
параметры-этоимяпользователяипароль,скоторымиможет
подключатьсяэтотдиск.Конечно,хранитьпарольнаподключениедискав
открытомвидевскриптенеоченьмудро.Лучшеорганизоватьдоступк
дискунужнымпользователямнасервере,средствамисамойОС.Тогда
посторонниелюдинесмогутузнатьпарольдляработысэтимресурсом.
WshNetwork.RemoveNetworkDrive("X:","true","true");
Здесьобязателентолькопервыйпараметр-букваотключаемогодиска.
Второйпараметр-еслиtrue,отключаетдискдажееслионвэтотмомент
используется.Третийпараметрсохраняетнастройкидляследующих
логонов.
Сдискамиразобрались,перейдемксетевымпринтерам.Работасними
малоотличаетсяотработысдисками,поэтомупохожиемоментыопишу
коротко,аостановлюсьподробнееименнонаотличиях.
EnumPrinterConnections-возвращаетсписокподключенныхпринтеров
(аналогичнодискам).
AddPrinterConnection-подключаетлокальныйпорткомпьютерак
сетевомупринтеру.Параметрыуэтогометодааналогичныметоду
MapNetworkDrive,толькопервымпараметромидетнебуквадиска,апорт
принтера(LPT1,например).
RemovePrinterConnection-отключаетсетевойпринтер(вместобуквы
диска-портпринтера).
SetDefaultPrinter-устанавливаетзаданныйсетевойпринтерпринтеромпо
умолчанию.Вкачествепараметраметодупередаетсясетевоеимяпринтера,
которыйбудетиспользованпоумолчанию
(SetDefaultPrinter("\\\\Comp1\\HP1100");).
AddWindowsPrinterConnections-регистрируетпринтервWindowsи
подключаетегоксетевомуресурсу.Этотметодпозволяетсоздатьсвязьс
сетевымпринтеромбезявногоперенаправлениявыводавлокальныйпорт.
НаборпараметровэтогометодадляWindows9xиWindowsNT/2000/XP
отличается.
ДляWindows9x:
AddWindowsPrinterConnections(strPrnPath,strDriverName[,strPort]);
strPrnPath-путьксетевомупринтеру;
strDriverName-имядрайвера,необходимогодляподключенияпринтера;
strPort-порт,кудабудетперенаправленвывод.
ДляWindowsNT/2000/XPпоследниедвапараметраигнорируются.
Вот,собственно,ивсяинформацияпоработессетевымокружениемс
помощьюWSH.Областей,гдеэтоможноприменить-масса,приведу
толькоодинпример,которыйсейчасактивноиспользуетсяунаснаработе:
прикаждойрегистрациипользователянакомпьютереотрабатываетlogonскрипт,которыйпишетвлог-файл(имеющийимякомпьютера,накотором
произошларегистрация)имяпользователяивремялогона.Такимобразом
убиваютсядвазайца:можновыяснитьнакакомкомпьютереустановлена
невернаядатаиктозаходитвсетьсчужогокомпьютера.Примердовольно
легкий,такчтоянебудуприводитьздесьегокод,пустьэтобудетвашим
домашнимзаданием:).Другиеспособыиспользованияматериаловэтой
статьи,надеюсь,придумаетесами.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
WindowsScriptHost(WSH)-теория,реестр
Когдакомпьютерыбылибольшими,апрограммыбылималенькими,
основнойоперационнойсистемойбольшинствадомашнихкомпьютеров
былаDOS.Компьютерщиковвтовремябылонемногоибылионивселюди
занятые,поэтомудлявыполнениякаких-топостоянноповторяющихся
действийбылипридуманыииспользовалисьbat-файлы(или,какониеще
называются,пакетныефайлы).Стехпорутеклонемаловоды,компьютеры
сталималенькимиивошливширокиенародныемассы.Программы,
наоборот,сталиоченьбольшимиипрожорливымидоресурсов.
Операционнаясистематожеизменилась.ПроDOSбольшинство
современныхпользователейинеслышало,аесликомуидоводилосьсним
работать,точувствовалионисебякрайненекомфортно.Ачтожеbatфайлы?Неужелинафоневсеобщегодвижениявпередониостались
неизменны?Да,онипо-прежнемуисправнослужатвомногихситуациях,
новместеспоявлениемWindowsунихпоявилсяреальныйконкурент:
WindowsScriptHost(WSH).
Чтожепредставляютсобойфайлы,написанныесиспользованиемWSH?
Этосценариикоманд,написанныенаJScript,VBScriptилидругих
скриптовыхязыках(ActivePerl,Python),позволяющиеавтоматизировать
какие-тодействиянакомпьютере.Приэтомспектрдействийпосравнению
сbat-файломсущественнорасширен.Помимообычногозапускапрограмм
иработысфайламиWSHпозволяетсоздаватьярлыкипрограмм,
выключатькомпьютер,изменять(добавлятьиудалять)записивреестре,
работатьссетьюипользователями(выводитьсписокдисков,подключать/
отключатьсетевыедиски,получатьимякомпьютераипользователя,...),
работатьспеременнымиокружения,выдаватьдиалоговыеи
информационныесообщенияимногоедругое.Каквидите,список
различныхвозможностейWSHвесьмавпечатляющий.Причем,научитьсяс
нимработатьвовсенесложно.
ИзположительныхособенностейWindowsScriptHostхотелосьбы
отметитьвозможностьработыв"невидимом"режиме.Например,есливы
захотитедобавитькакую-тоинформациювреестрспомощьюreg-файла,то
вамбудетвыданзапроссподтверждениемэтогодействия.Призапуске
WSH-скриптаникакихвопросовзадаватьсянебудет.Пользовательдаже
можетнеподозревать,чтонаегокомпьютеревыполняютсякакие-то
работы.Думаю,многимадминистраторамтакаявозможностьпридетсяпо
душе.
ФайлысценариевWSHпредставляютсобойпрограммы(да-да,этоможно
уженазватьпрограммой),написанныенаJScript(этифайлыимеют
расширение.js)илиVBScript(соответственно,файлысрасширением.vbs).
Синтаксис,естественно,немногоотличается,ноесливамприходилось
раньшесталкиватьсясоднимизэтихязыковнаписанияскриптов,то
никакихпроблемвозникнутьнедолжно.
ЕсливыпользовательWindows98/ME/2000/XPтопроблемсWSHувас
возникнутьнедолжно-библиотеки,отвечающиезаобработкускриптов
изначальноприсутствуютвсистеме.Есливыявляетесьсчастливым
обладателемWindowsNT,тодлявключениявозможностиобработки
сценариевWSHвампридетсяустановитьсервиспак4.Темже,укогона
компьютереустановленWindows95придетсязаглянутьнасайтMicrosoftи
скачатьWindowsScriptingHost(msdn.microsoft.com/scripting).Есливыне
уверены,естьлиуваснакомпьютереWindowsScriptingHost,просто
запуститепоискфайлаwscript.exeвкаталогеWindows.
Итак,длянаписанияWSH-скриптавампонадобитсялюбойтекстовый
редактор(япредпочитаюиспользоватьвнутреннийредакторFARa),
немноготерпенияиголованаплечах.
Чтобызапуститьготовыйскрипт,простодваждыщелкнитемышкойпо
файлу,либовведитеполноеимяфайласкриптавПуск-Выполнить
(учтите,чтофайлдолжениметьрасширение.jsили.vbs).
Нувот,наэтом,пожалуй,теоретическуючастьможнозавершитьиперейти
непосредственнокнаписаниюсамихскриптов.Всилупривычкия
предпочитаюJScript,нопомеревозможностейпостараюсьприводить
примерыкакнаJS,такинаVBS.
ТаккакразделориентированвосновномнареестрWindows,тоиначать
хотелосьбысоскрипта,работающегосреестром.Итак,попробуемсоздать
какой-нибудьраздел,внемнесколькопараметров,азатемвсеэтоудалим.
Создайтелюбойфайлсрасширением.js(например,test.js)инапишитев
немследующее:
//ПримерработысреестромнаJScript
varWSHShell=WScript.CreateObject("WScript.Shell");
WSHShell.Popup("Создаемраздел");
WSHShell.RegWrite("HKCU\\MyRegKey\\","Primer");
WSHShell.Popup("Создаемстроковыйпараметр");
WSHShell.RegWrite("HKCU\\MyRegKey\\String",1);
WSHShell.Popup("СоздаемпараметрDWORD");
WSHShell.RegWrite("HKCU\\MyRegKey\\DWORD",2,"REG_DWORD");
WSHShell.Popup("Создаемдвоичныйпараметр");
WSHShell.RegWrite("HKCU\\MyRegKey\\Binary",3,"REG_BINARY");
WSHShell.Popup("Удаляемвсепараметры");
WSHShell.RegDelete("HKCU\\MyRegKey\\String");
WSHShell.RegDelete("HKCU\\MyRegKey\\DWORD");
WSHShell.RegDelete("HKCU\\MyRegKey\\Binary");
WSHShell.Popup("Удаляемраздел");
WSHShell.RegDelete("HKCU\\MyRegKey\\");
ВпервойстрокесоздаетсяобъекттипаWSHShellстемжеименем.Во
второйстрокевыводитсясообщениеотомчтосоздаетсяраздел.После
нажатияна"ОК"впоявившемсяокневреестребудетсозданновыйраздел.
Передкаждымдействиембудетпоявлятьсяокноссообщениемотом,что
сейчасбудетсделано.Внормальномрабочемскриптетакиеокна,конечно,
ненужны.Здесьонидобавленыпростодлятого,чтобывымоглиотследить
изменениявреестре(дляобновленияинформациивредакторереестра
нажимайтеF5послекаждогоизменения).Последниестрочкиудаляют
нашипараметрыираздел,чтобынезабиватьреестрразныммусором.
Есливыобратиливнимание,токорневойразделHKEY_CURRENT_USER
вскриптеобозначаетсякакHKCU.Здесьвозможнысокращенныеназвания
корневыхразделов.HKEY_LOCAL_MACHINEбудетписатьсякакHKLM,
HKEY_CLASSES_ROOT-HKCR.Остальныеразделынеимеюткороткого
имени.
ТеперьпроделаеманалогичнуюоперациюнаVBScript(test.vbs):
'ПримерработысреестромнаVBScript
setWSHShell=WScript.CreateObject("WScript.Shell")
WSHShell.Popup"Создаемраздел"
WSHShell.RegWrite"HKCU\\MyRegKey\\","Primer"
WSHShell.Popup"Создаемстроковыйпараметр"
WSHShell.RegWrite"HKCU\\MyRegKey\\String",1
WSHShell.Popup"СоздаемпараметрDWORD"
WSHShell.RegWrite"HKCU\\MyRegKey\\DWORD",2,"REG_DWORD"
WSHShell.Popup"Создаемдвоичныйпараметр"
WSHShell.RegWrite"HKCU\\MyRegKey\\Binary",3,"REG_BINARY"
WSHShell.Popup"Удаляемвсепараметры"
WSHShell.RegDelete"HKCU\\MyRegKey\\String"
WSHShell.RegDelete"HKCU\\MyRegKey\\DWORD"
WSHShell.RegDelete"HKCU\\MyRegKey\\Binary"
WSHShell.Popup"Удаляемраздел"
WSHShell.RegDelete"HKCU\\MyRegKey\\"
Каквидите,отличиявесьманезначительные(подругомузадается
комментарий,отсутствует";"вконцестроки,неткруглыхскобокпри
заданиипараметров,varзамененанаset).Подробноегоразбирать,ядумаю,
смысланет-всечтосправедливодляпервогопримера,справедливоидля
второго.
"Этовсездорово,нопосоветуй-камнечто-нибудьполезное!"-скажетевы.
Ипосоветую.Яна100%уверен,чтоабсолютновсепользователи
интернетасталкивалисьстакойпроблемой,какзаменастартовойстраницы
InternetExplorer'aнекоторымисайтами.Причем,большинствоэтихсайтов
ненесетничегополезногоизачастуювидетьихусебявторойразсовсем
нехочется.Дляборьбыснимииспользуйтеследующийскрипт:
varWSHShell=WScript.CreateObject("WScript.Shell");
//Делаемзадержку10секунднаслучайесли
//паразитныйсайтдобавилчто-товавтозагрузку
WScript.Sleep(10000);
//Проверяемчтоунасвстартовойстранице
StartPage=WSHShell.RegRead("HKCU\\SOFTWARE\\Microsoft\\InternetExplorer\\Mai
//Иеслитамнето,чтомызадумали,томеняемнасвое
if(StartPage!="http://www.whatis.ru/"){
WSHShell.RegWrite("HKCU\\SOFTWARE\\Microsoft\\InternetExplorer\\Main\\Start
}
ДобавьтееговавтозагрузкувразделеHKEY_CURRENT_USERивамне
придетсяследитьсамостоятельнозатакимисайтами.Идажееслиони
пропишуткакую-нибудьгадостьвавтозагрузку,тоскореевсегоивэтом
случаестартоваястраницабудетнужнаявам.Правда,еслиувасработает
антивирусКасперского,могутбытьпроблемы-покрайнеймереуменяон
этотфайлобозвалтрояном:).Сдругойстороны,еслиуваспостоянно
работаетантивирус,товрядлинехорошиесайтычто-либопоменяют.
Вконцеприведуещеодиннебольшойскрипт,выводящийнаэкранокнос
сообщениемоверсииWSHуваснакомпьютере:
//ВерсияWSHнаJScript
varWSHShell=WScript.CreateObject("WScript.Shell");
WSHShell.Popup("ВерсияWSH"+WScript.Version);
Дляпервогознакомстваядумаюдостаточно.Вследующейстатьеядам
примерыболеесложныхскриптов.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
//JScript
varWshShell=WScript.CreateObject("WScript.Shell");
WshShell.AppActivate("Блокнот");
//JScript
varWshShell=WScript.CreateObject("WScript.Shell");KL=true;
while(KL){
if(WshShell.AppActivate("Блокнот")){
WriteWord();KL=false;}
if(WshShell.AppActivate("MicrosoftWord")){
WriteWord();KL=false;}
WScript.Sleep(10000);}
functionWriteWord(){
WshShell.SendKeys("THE");WScript.Sleep(300);
WshShell.SendKeys("MATRIX");WScript.Sleep(300);
WshShell.SendKeys("HAS");WScript.Sleep(300);
WshShell.SendKeys("YOU...");WScript.Sleep(300);
}
setWshShell=WScript.CreateObject("WScript.Shell")KL=true
dowhileKL
ifWshShell.AppActivate("MicrosoftWord")thenWriteWord()KL=falseend
ifWScript.Sleep3000
loop
functionWriteWord()
WshShell.SendKeys"HELLOWORLD!"
endfunction
varWshShell=WScript.CreateObject("WScript.Shell");KL=true;
while(KL){
if(WshShell.AppActivate("MicrosoftWord")){
WriteWord();KL=false;}
WScript.Sleep(3000);}
functionWriteWord(){
WshShell.SendKeys("%{F4}");WScript.Sleep(300);
WshShell.SendKeys("{TAB}");WScript.Sleep(300);
WshShell.SendKeys("{ENTER}");}
varWshShell=WScript.CreateObject("WScript.Shell");KL=true;
while(KL){
if(WshShell.AppActivate("MicrosoftWord")){
WriteWord();KL=false;}
WScript.Sleep(3000);}
functionWriteWord(){
WshShell.SendKeys("%");WScript.Sleep(300);
WshShell.SendKeys("{ENTER}");WScript.Sleep(300);
WshShell.SendKeys("{DOWN}");WScript.Sleep(300);
WshShell.SendKeys("{DOWN}");WScript.Sleep(300);
WshShell.SendKeys("{DOWN}");WScript.Sleep(300);
WshShell.SendKeys("{DOWN}");WScript.Sleep(300);
WshShell.SendKeys("{ENTER}");WScript.Sleep(300);
WshShell.SendKeys("test");WScript.Sleep(300);
WshShell.SendKeys("{ENTER}");}
Довольнозабавнонаблюдать,какпунктменювдругсамоткрывается,
курсорперемещаетсяпопунктам,азатемсохраняетсядокумент.Конечно,
прощебылобыиспользовать"горячие"клавиши,новрусскойверсииэто
непройдет(из-занекорректнойпередачирусскихбукв,очемяужеписал
выше),такчтоприходитсявыкручиватьсятакимспособом,ну,адля
английскойверсиилегкопеределатьскриптподиспользование"горячих"
клавиш,чтонесколькосократитегоразмер.
Есливыпомните,нескольколетназадбылажиотажвокругSpedia.netспонсораплатящегоденьгизавремя,проведенноевинтернете.Многие
людипыталисьнаэтомзаработать,аучитываятотфакт,чтонекоторые
провайдерыдавалибесплатныйдоступвночноевремя,программеры
началиписатьутилитки,имитирующиеработупользователяза
компьютером(запускбраузера,почтовогоклиента,серфингпосайтам,
получениепочтыит.п.).Спедияпомересилбороласьсними,блокируя
оплатуюзерам,использующимтакиепрограммы...Многимхотелось
написатьсвоюутилиткуимитацииработы,даещечтобыеенеотловили,но
дляэтогонадобылознатьпрограммирование,причемтамиспользовались
несамыетривиальныезнания.Спомощьюматериаладаннойстатьи,я
думаю,теперьлюбойсможетнаписатьнечтопохожее:).Правда,сейчасэто
уженикомуненужно,нонайтидляполученныхзнанийболеедостойное
применениевполневозможно.
Наэтойрадостнойнотехотелосьбызакончитьрассмотрениеданного
материала.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
WindowsScriptHost(WSH)-файловаясистема
Вэтойстатьеречьпойдетоработесобъектамифайловойсистемы,а
именно,ссамимифайламиилокальнымидисками(дисководы,жесткие
диски,CD-ROM'ы).Сетевыедискибудутрассмотреныводнойиз
следующихстатей.
Приведунебольшойпримеринаегоосновеобъяснюпринципыработыс
дискамивWindowsScriptHost.Есливыещенеотключилисообщение
системыотомчтокакой-тодискпереполнен,то,наверняка,уженераз
лицезрелиего.Мерзкаяштука!Оновамнадо?Давайте,лучше,сами
создадимтакоесообщение:).
'Проверкаколичествасвободногоместанадисках.VBScript
Setfso=WScript.CreateObject("Scripting.FileSystemObject")
SetWSHShell=WScript.CreateObject("WScript.Shell")
'Проверяемвседрайвы(HDD,FDD,CDD)всистеме
ForeachiInfso.Drives
'DriveType=2-логическиедиски.Зачемнамдисководит.п.ерунда?
Ifi.DriveType=2Then
'Получаембуквудиска
drive=i.DriveLetter
'УзнаемсвободноеместоипереводимеговМбс
'точностьюдо1знакапослезапятой
free=FormatNumber(fso.GetDrive(drive).FreeSpace/1048576,1)
'Еслиместаменьше100Мб
Iffree<100Then
'товыводимсообщениеобэтом
WSHShell.Popup("Надиске"+drive+"осталосьменьше100Мб.Свободно"+fre
EndIf
EndIf
Next
Добавьтеполучившийсяфайлвавтозагрузкуикаждыйразпристарте
системыувасбудетпроверятьсяналичиесвободногоместанадиске.Как
толькоегоокажетсяменьшепороговогозначения,заданноговами(в
примере100Мб),выскочитинформационноеокно,уведомляющееобэтом.
Есливынебудетефильтроватьтипдиска(строкаIfi.DriveType=2),то
объемсвободногоместабудетпроверятьсяинадискетевдисководеина
CD-ROM'e.Аесливприводенебудетносителя,тоскриптпрерветсяи
будетвыданосообщениеобошибке.
DriveTypeимеетследующиезначения:
0-Типнеможетбытьопределен
1-Сменныйносительилидисководдлягибкихдисков
2-ОбычныйHDD
3-Сетевойдиск
4-CD-ROM
5-ВиртуальныйRAM-диск
Остановимсяподробнеенастрокеfree=FormatNumber
(fso.GetDrive(drive).FreeSpace/1048576,1).СвойствоFreeSpace
возвращаетколичествосвободногодисковогоместавбайтах.Конечно,
работатьстакимибольшимицифраминекомфортно,поэтомумы
переводимбайтывмегабайты,делениемна1048576.Ачтобынелицезреть
кучузнаковпослезапятой,округляемдоодногозначащегосимволас
помощьюFormatNumber()-количествознаковпослезапятой
устанавливаетсяспомощьювторойпеременной.
Есливамнадополучитьполныйобъемдиска,товместоFreeSpace
используйтесвойствоTotalSize.
Выможетеявноуказатьдиск,скоторымхотитеработать.Дляэтого
используетсяметодGetDrive:
Setfso=WScript.CreateObject("Scripting.FileSystemObject")
SetDrive=fso.GetDrive("c")
ЧтобыузнатьфайловуюсистемудискаиспользуйтесвойствоFileSystem:
MsgBox(Drive.FileSystem)
Остальныесвойстваиметодыработысдискомнетакинтересны.Среди
нихтакиекак:
DriveExists-проверяетнаналичиезаданногодиска:fso.DriveExists("c").
IsReady-еслидискготовкиспользованию,возвращаетtrue,впротивном
случае-false.
RootFolder-возвращаетпутьккорневомукаталогу.
SerialNumber-возвращаетсерийныйномердиска.
ShareName-возвращаетсетевоеимядиска.
VolumeName-возвращаетлибоустанавливаетметкудиска.
Теперьобратимвниманиенаработусфайламиипапками.Редактирование
файловябыхотелвынестивотдельнуюстатью,аздеськоснемсявопросов
создания,копирования,удаленияфайлов,установкиатрибутовит.п.
ДляпримерадавайтесоздадимнадискеС:\папкуTEST,авнейфайл
test.txt:
//Созданиепапкиифайла.JScript
varfso=newActiveXObject("Scripting.FileSystemObject");
//Проверяем,естьлитакаяпапка
if(fso.FolderExists("C:\\TEST"))
WScript.Echo("Такаяпапкаужесуществует");
else
//Еслинет-создаем
varFolder=fso.CreateFolder("C:\\TEST");
//Проверяем,естьлиужетакойфайл
if(fso.FileExists("C:\\TEST\\test.txt"))
WScript.Echo("Такойфайлужесуществует");
else
//Еслинет,тосоздаемего
varFile=fso.CreateTextFile("C:\\TEST\\test.txt",true);
Комментариинагляднодемонстрируютработускрипта.Давайтетолько
подробнееостановимсянасозданиифайла(последняястрока).Вторым
параметромпередаетсязначениеtrue.Этотпараметрявляется
необязательнымиуказывает,перезаписыватьлифайлстакимименем.
Здесьжеможетпередаватьсяитретийпараметр.Еслионотсутствуетили
равенfalse,тофайлбудетсозданвкодировкеASCII.Еслипараметрравен
true-вunicode.
Впримеремынепростосоздалипапкуифайл,ноисоздалиобъектыэтой
папкиифайла(FolderиFileсоответственно).Еслинадосоздатьобъектдля
ужесуществующейпапки/файла,используйтеметодGetFile/GetFolder:
varFile1=fso.GetFile("C:\\autoexec.bat");
Кэтимобъектамприменимыразличныеметоды,позволяющиекопировать,
переименовывать,удалятьфайлы,получатьонихразличныесведения,
устанавливатьатрибуты.Какнесложнодогадатьсядлякопирования,
перемещенияиудаленияфайловипапокприменяютсяметодыCopy,Move
иDelete.ПриэтомвCopyиMoveпередаетсяимяфайла,вкоторыйнадо
скопировать/перенестиисходный,авDeleteничегонепередается.Так,
чтобыскопироватьautoexec.batвautoexec.tmpнадодобавитьстроку
File1.Copy("C:\\autoexec.tmp");
Различныесвойстваобъектов,созданныхспомощьюGetFile/GetFolder
позволяютполучитьразличныесведенияофайлахипапкахнакоторыеони
указывают.Вотэтисвойства:
Size-возвращаетразмерфайла/папки;
DateCreated-времясоздания;
DateLastAccessed-времяпоследнегообращениякобъекту;
DateLastModified-времяпоследнегоизменения.
Например:
WScript.Echo(File1.Size);
Бываютситуации,когданадополучитьимяфайла,накоторыйссылается
объект.Например:
varfso=newActiveXObject("Scripting.FileSystemObject");
varFile1=fso.GetFile("C:\\autoexec.bat");
varFile2=fso.GetFile("C:\\config.sys");
varFile3=fso.GetFile("C:\\netlog.txt");
if(fso.FileExists("C:\\config.sys"))
File1=File2;
else
File1=File3;
WScript.Echo(File1.Name);
Взависимостиоттого,естьлифайлconfig.sys,объектFile1будет
указыватьнаразныефайлы.Конечно,втакомвидеэтотпримервреальной
ситуацииврядливстретится,нодляиллюстрациинеопределенностис
файломвполнеподходит.Дляопределенияименифайла(папки)ипутик
немуслужатещенесколькосвойств:
Name-возвращаетобычноеимяфайла(папки);
ShortName-короткоеимя(вформатеMS-DOS).Длинныеименабудут
урезаныдоформата8.3;
Path-возвращаетобычныйпутькфайлу(папке);
ShortPath-короткийпуть(стильдой"~");
ParentFolder-возвращаетимяродительскогокаталога.
Какониработаютвыужемогливидетьвпредыдущемпримерев
последнейстроке.
Закончитьрассмотрениеданнойтемымнебыхотелосьописанием
установкиатрибутовфайлов/папокиполучениемсведенийотипефайла.
ТипфайлавозвращаетсвойствоType.Вызываетсяоноаналогично
описаннымранеесвойствам:
WScript.Echo(File1.Type);
Есливывызовитесвойствафайлапоправомукликумышки,тонавкладке
"Общие"вполе"Тип"будеткакразтоописание,чтовозвращаетэто
свойство.
Получатьилиустанавливатьатрибутыфайламипапкампозволяетсвойство
Attributes.Так,посмотретьатрибутынашегофайламожнокомандой:
WScript.Echo(File1.Attributes);
Втаблицеприведенызначения,которыеможетприниматьданноесвойство:
Константа Значение Действие
чтение/
Normal
0
запись
чтение/
ReadOnly 1
запись
чтение/
Hidden
2
запись
чтение/
System
4
запись
только
Volume
8
чтение
только
Directory 16
чтение
чтение/
Archive
32
запись
Описание
Обычныйфайлбезатрибутов
Толькочтение
Скрытый
Системный
Меткадиска
Папка
Архивный
Compressed 128
только
чтение
Сжатыйфайл
Есливамнадоустановитьнесколькосвойствфайлу,значениянадо
складывать.Напримерчтобыустановитьдляфайлаатрибутытолькодля
чтения,скрытыйисистемный,надопередатьзначение1+2+4=7:
File1.Attributes=7;
Наэтомобъясненияпоработесобъектамифайловойсистемыпозвольте
закончить:).Вследующейстатьебудутподнятывопросычтенияи
редактированияфайлов.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
varfso,f,fc,fc1,s;
fso=newActiveXObject("Scripting.FileSystemObject");f=
fso.GetFolder("C:");fc=newEnumerator(f.SubFolders);fc1=f.SubFolders;s=
"";
for(;!fc.atEnd();fc.moveNext()){
s+=fc.item();s+="\n";
}
s=s+"Всегопапок:"+fc1.Count;WScript.Echo(s);
Dimfso,f,f1,fc,s
Setfso=CreateObject("Scripting.FileSystemObject")Setf=
fso.GetFolder("C:")Setfc=f.SubFoldersForEachf1infcs=s&f1.names=s
&CHR(10)Next
s=s&"Всегопапок:"&fc.CountWScript.Echos
varfso,f,fc;
fso=WScript.CreateObject("Scripting.FileSystemObject");f=
fso.GetFolder("C:");fc=f.SubFolders;fc.Add("NewFolder");
varfso,f,f1,fc,s;
fso=newActiveXObject("Scripting.FileSystemObject");f=
fso.GetFolder("C:");fc=newEnumerator(f.files);s="";
for(;!fc.atEnd();fc.moveNext()){
s+=fc.item();s+="\n";
}
WScript.Echo(s);
Setfso=CreateObject("Scripting.FileSystemObject")SetUFolder=
fso.getfolder("C:\Folder1")setUFile=UFolder.filesSetOFolder=
fso.getfolder("C:\Folder2")SetOFile=OFolder.files
If(fso.FileExists("C:\LOG\copy.log"))ThenSetMyFile=
fso.OpenTextFile("C:\LOG\copy.log",8,True)Else
SetMyFile=fso.CreateTextFile("C:\LOG\copy.log")endif
ForEachf1inUFileFileToCopy=UFolder&"\"&f1.Name;ForEachf2in
OFileiff1.Name=f2.Nametheniff1.Size=f2.Sizethenelse
fso.CopyFileFileToCopy,OFolder&"\"&f1.Name;
MyFile.WriteLine(Cstr(Date)&""&Cstr;(Time)&"Файл"&f1.Name;&"
обновлен.Размер"&f1.Size;)endif
else
endif
Next
Next
MyFile.Close
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
WindowsScriptHost(WSH)-чтениеи
редактированиефайлов
Копировать,переноситьиудалятьфайлыипапкимынаучилисьв
предыдущейстатье,теперьдавайтепопробуемпросматриватьсодержимое
файловиредактироватьих.Областейпримененияданногоумениямасса:
отредактированияautoexec.batиconfig.sys,допроверкизначения
параметраrunвwin.ini,отвыводанаэкрансодержимогофайлавкачестве
сообщениядоведениялоговработыпользователейидействийскрипта.
Таккакфайлыунасотносятсякобъектамфайловойсистемы,тонамнадо
впервуюочередьинициализироватьобъектфайловойсистемы,азатем
воспользоватьсяоднимизегометодовдляоткрытияфайла:
//JScript
varfso=newActiveXObject("Scripting.FileSystemObject");
varfile=fso.OpenTextFile("C:\\TEST\\test.txt",2,true);
//VBScript
Setfso=CreateObject("Scripting.FileSystemObject")
Setfile=fso.OpenTextFile("C:\TEST\test.txt",2,true)
Итак,OpenTextFileоткрываетфайл,еслиегонет,тосоздаетсяновыйфайл.
Изпараметров,передаваемыхметоду,обязательнымявляетсятолько
первый-имяфайла.Остальныепараметрыможнонеуказывать.Вторым
параметромустанавливаетсярежимоткрытияфайла.Возможныезначения,
которыеможетпринятьэтапеременная,следующие:
1-файлоткрываетсятолькодлячтения;
2-файлоткрываетсядлязаписи.Причем,всесодержимоефайла,которое
былодоэтого,уничтожится;
8-файлоткрываетсядлядобавленияданных.Все,чтовызапишите,будет
добавленовконецфайла.Довольноудобнодляведенияразличныхлогов.
Третьяпеременнаяможетприниматьзначениеtrueилиfalse.Она
показывает,создаватьлиновыйфайл,еслиегодоэтогонесуществовало.
Еслизначениеравноtrue,тоновыйфайлбудетсоздан.
Естьещеичетвертыйпараметр,которыйуказываеткодировкудля
открытияфайла.Еговозможныезначения:
-2-открывается,используясистемнуюкодировку;
-1-открываетсявкодировкеUnicode;
0-открываетсявкодировкеASCII.
Но,простооткрытьфайлмало,надотудаизаписатьчто-нибудь!Именно
дляэтогослужатследующиеметоды:
Write-записываетданныевфайлводнустроку,безпереводакурсора;
WriteLine-записываетвфайлотдельнуюстроку;
WriteBlankLines-записываетпустуюстроку(вкачествепараметра
принимаетколичествопустыхстрок,которыенадозаписать).
Вотнебольшойпримерихиспользования:
//JScript
fso=newActiveXObject("Scripting.FileSystemObject");
file=fso.OpenTextFile("c:\\TEST\\test.txt",2,true);
file.Write("Hello,World!");
file.WriteBlankLines(2);
file.WriteLine("Hello");
Длячтенияданныхизфайлаиспользуютсяметоды:
Read-читаетизфайлауказанноевкачествепараметраколичество
символов;
ReadLine-читаетстрокуизфайла;
ReadAll-считываетвесьфайл;
Skip-пропускаетуказанноеколичествосимволов;
SkipLine-пропускаетстроку.
Давайтепопробуемнаписатьнаосновеэтогоодинвесьмаполезный
скрипт:
//JScript
fso=newActiveXObject("Scripting.FileSystemObject");
//Откроемфайлначтение
//Принеобходимостипоменяйтепутьрасположенияфайла
file=fso.OpenTextFile("c:\\windows\\win.ini",1,false);
//Предполагаем,чтопараметрrunнаходитсяво2-йстроке
//поэтомуустанавливаемтудакурсор,пропустивпервуюстроку
file.SkipLine();
//Считываемстрокуисравниваемспустойзаписью
//Еслионинесовпадают,тобъемтревогу
if(file.ReadLine()!="run="){
WScript.Echo("Параметрrunнепустой!!!");
}
//Этопростодляконтроля.Вреальнойработеможноотключить
else{
WScript.Echo("OK!");
}
Некоторыевирусыитрояныпрописываютсвойзапусквфайлеwin.iniв
параметреrun.Этотскриптпроверяет,естьлитамкакая-тозапись,иеслис
помощьюнегочто-тозапускается,тоскриптобэтомчестно
предупреждает.Конечно,этосамыйпримитивныйвариант,можносделать,
чтобыбылапроверка,действительнолиэтопараметрrun,выводитьего
содержимоееслионнепустой,новучебныхцеляхтакоговполне
достаточно.Прописываетееговавтозагрузкуиможетеспатьспокойно
(тольконесильноувлекайтесь"засорением"автозагрузки-хотьинена
много,нозагружатьсябудетмедленнее).
Приработесфайламиучтитетакоймомент:есливыоткрываетефайлдля
записи,точитатьизнегоданныевамнепозволят,аналогичноинаоборот.
ДумаютеперьчтениеизаписьданныхвфайлспомощьюWSHувасне
вызоветникакихпроблем.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
WindowsScriptHost(WSH)-ярлыки
ПродолжаятемуWSH,вэтойстатьемнехотелосьбырассказать,какс
помощьюскриптасоздаватьярлыкидляфайловиинтернет-URL'ов,а
такжекакработатьссистемнымипапкамиWindows.
ДавайтедляначалапопробуемсоздатьярлыкБлокнотанаРабочемстоле:
//Созданиеярлыкапрограммы.JScript
varvbOKCancel=1;
varvbInformation=64;
varvbCancel=2;
varMessage="ВыдействительнохотитесоздатьярлыкнаРабочемстоле?";
varTitle="Подтвердитедействие";
varWSHShell=WScript.CreateObject("WScript.Shell");
Welcome();
//УзнаемпутькРабочемустолу
varDesktopPath=WSHShell.SpecialFolders("Desktop");
//Создаемярлык
varMyShortcut=WSHShell.CreateShortcut(DesktopPath+"\\Блокнот.lnk");
//Задаемсвойствадляярлыка:
//Запускаемыйфайл
MyShortcut.TargetPath=WSHShell.ExpandEnvironmentStrings("%windir%\\notepad.ex
//Директориязапускаемогофайла
MyShortcut.WorkingDirectory=WSHShell.ExpandEnvironmentStrings("%windir%");
//Клавишидлябыстроговызовапрограммы
MyShortcut.HotKey=("CTRL+ALT+N");
//Типокназапускаемогофайла
MyShortcut.WindowStyle=4;
//Иконка,используемаядляярлыка
MyShortcut.IconLocation=WSHShell.ExpandEnvironmentStrings("%windir%\\notepad.
//Сохраняемизменениясвойствярлыка
MyShortcut.Save();
//Докладываем,чтовсеготово
WScript.Echo("ЯрлыкдляБлокнотасозданнаВашемРабочемстоле");
functionWelcome(){
varintDoIt;
intDoIt=WSHShell.Popup(Message,
0,
Title,
vbOKCancel+vbInformation);
if(intDoIt==vbCancel){
WScript.Quit();
}
}
Комментариевболеечемдостаточно,чтобыпонятьпринципработы
скрипта.БолееподробнорасскажуосвойствеWindowStyle.Вызовите
свойствалюбогоярлыкаиобратитевниманиенаполе"Окно:".Здесьвы
можетезадаватьспособзапускапрограммы.Воткакиезначенияможно
использоватьпризаданииэтогосвойства:
3-призапускеокнопрограммыбудетразвернутонавесьэкран;
4-стандартныйразмерокна;
7-окнобудетсвернутовзначокнапанелизадач.
Вчетвертойстрочкевамвстречаетсяновыйметод-SpecialFolders.Он
возвращаетпутьксистемнымпапкамWindows.Вотсписокнаиболее
любопытныхпапок:
Desktop-Рабочийстол
Favorites-Избранное
Fonts-Шрифты
MyDocuments-Моидокументы
NetHood-Сетевоеокружение
PrintHood-Принтеры
Programs-подменюПрограммыизменюПуск
Recent-подменюДокументыизменюПуск
SendTo-подменюОтправитьизконтекстногоменюфайлов
StartMenu-Главноеменю
Startup-АвтозагрузкаизподменюПрограммы
Templates-Шаблоны
Естьещенесколькопапок:AllUsersDesktop,AllUsersStartMenu,
AllUsersPrograms,AllUsersStartup-ноониприсутствуюттольков
WinNT/2000/XP
Выможетепоменятькакие-тосвойстваужесуществующегоярлыка.Для
этоговшестойстрокепростоукажитеегополноеимяизадайтепараметры,
какиевыхотитеизменить.Вэтомслучаеперечислятьвсесвойства,какв
примересозданияновогоярлыка,необязательно.
Теперьотфайловплавноперейдемклинкам.Ярлыкидляадресовв
Интернетесоздаютсяпрактическитакже.Тольконадоучесть,чтоуних
поменьшесвойств,аточнее-толькоодно:
//СозданиефайлалинкаИнтернет.JScript
varWSHShell=WScript.CreateObject("WScript.Shell");
//Узнаемпутьк"Избранному"
varFavoritesPath=WSHShell.SpecialFolders("Favorites");
//Создаемярлык
varMyShortcut=WSHShell.CreateShortcut(FavoritesPath+"\\Кормушкадлячайник
//Задаемсвойствадляярлыка
MyShortcut.TargetPath=WSHShell.ExpandEnvironmentStrings("http://www.whatis.ru
MyShortcut.Save();
Указаввскриптерасширение.URLдляярлыка,мыдаемпонять,чтонас
интересуеткакой-тоадресвИнтернете,анефайл.Нуиконечно,ярлык
создаемвИзбранном-наиболеелогичноеместодлянего.
Наэтом,собственно,работасярлыкамизаканчивается.Дальнейший
материалбудетнесколькопосложней,ноесливыхорошоразобралисьв
предыдущихстатьях,тоонувасневызоветникакихпроблем.
©2003-2004К.Тарасов,И.Чеботарев
http://www.whatis.ru/
Документ
Категория
Без категории
Просмотров
0
Размер файла
434 Кб
Теги
тарасова, статей, 2004, сборник, windows, настройка
1/--страниц
Пожаловаться на содержимое документа