Как создавать диалоговые окна с помощью VBScript? Всем привет, в этом уроке я вам покажу, как быстро создавать диалоговые окна в Windows, с помощью которых мы так часто подшучиваем над своими коллегами. Я представлю небольшой обзор команд с пояснениями для того, чтобы вы не просто копировали диалоговые окна с сайта, а смогли сами импровизировать, одновременно обучаясь. Это будет знакомый вам по предыдущим компьютерным приколам скриптовый язык VBScript, и всё, что нам как всегда понадобится, это простой Блокнот, который мы, после заполнения кода, будем сохранять в укромном месте с расширением .vbs.
VBScript — это простой язык программирования, исполняемый в системе сценарием Windows Script Host. Легко кодируется в Блокноте, а лучше в специальных текстовых редакторах с расширенными возможностями, как например, AkelPad или Notepad ++ (они, в отличие от встроенного Блокнота, понимают русскую кодировку; выберите Кириллицу — Windows-1251). Именно эта связка сценария и скрипта используется Windows для того, чтобы создавать диалоговые окна . Это гораздо проще, чем использовать такие языки как С и С ++. Однако подробное знакомство с VBScript задачей настоящей статьи не ставилось; здесь я лишь приведу ряд конкретных примеров того как создавать диалоговые окна с более-менее осмысленным для читающего содержанием и вариантами развития событий по результатам действий.
Как создавать диалоговые окна с ошибкой?
Итак, создадим простое диалоговое окно с двумя кнопками. И создадим окно с псевдоошибкой. Откроем текстовый редактор, и создадим сообщение, в котором:
x=msgbox("содержание_ошибки", 5+16, "автор_ошибки")
Кавычки и скобки обязательны. Значок «+» позволяет использовать в одном скрипте множественные функции окна. В поле «содержание ошибки» вы можете написать любое сообщение, которое впоследствии прочитает пользователь. А в поле «автор ошибки» напишите того, кто это сообщение якобы пришлёт. Ими могут быть сама система Windows, или сосед по офису. А может быть директор или администратор. Решать опять же вам. Останавливаться не буду, идём дальше. Вот каким будут выглядеть диалоговые окна после того, как вы сохраните документ в формате .vbs.
Поле «5+16» приказывает системе создавать диалоговые окна с ярлыком критической ошибки и двумя кнопками. Это, как видно, кнопки «повтор» и «отмена». Но как вы уже поняли, можно создавать диалоговые окна и с другими настройкам, и всё это благодаря комбинации цифр или чисел. Это — числовые выражения постоянных, отвечающие за выводимые кнопки, значки и режимы окна. Подробнее смотрим ниже:
0 (кнопка ОК) 1 (кнопки OK and Отмена) 2 (кнопки Прервать, Повтор и Пропустить) 3 (кнопки Да, Нет, Отмена) 4 (кнопки Да и Нет) 5 (кнопки Заново и Отменить) 16 (значок критической ошибки) 32 (значок помощи) 48 (значок предупреждения) 64 (значок информации) 256 (вторая кнопка по умолчанию) 512 (третья кнопка по умолчанию) 768 (четвёртая кнопка по умолчанию) 4096 (окно будет постоянно мешаться, перекрывая остальные окна других программ, пока пользователь не отреагирует) 262144 (поверх других окон) 524288 (текст сообщения выводится от правой части окна)
Нажатие кнопок для указанного кода, и, конечно, числовых комбинаций ни к чему не приведёт, но вы в силах будете указать системе, сколько раз те или иные сообщения будут появляться. Для этого просмотрите статью Множественные сообщения об ошибке. Если понадобится перенести строки в диалоговых окнах, можно воспользоваться написанием скрипта в формате:
wscript.quit MsgBox ("Привет!"&vbNewLine&"Как сам-то?",0)
Диалоговые окна VBS: множество постоянных и переменных.
В простейшем написании скрипта именно знак «+» позволит применять сразу несколько параметров в одном скрипте. Например, для написания окна типа:
Просто повторите скрипт так:
MsgBox "Немедленно выключить компьютер", 0 + 48 + 4096 + 524288, "Администратор"
Кстати, появление окна можно запустить по кругу, указав в скрипте команду на запуск его же по нажатию на любую из кнопок:
MsgBox "Повторно запускаю скрипт", 5+16, "Надоедливое окно" Set Sh = CreateObject("WSCript.Shell") Sh.Run "C:\Users\Desktop\скрипт.vbs" Set Sh = Nothing
где скрипт.vbs и есть тот самый скрипт, лежащий, скажем, на Рабочем столе (C:\Users\1\Desktop\). При этом избавиться от окна можно будет только через Диспетчер задач. Скрипт может также содержать и какую-то другую одну или несколько команд. Например, пара вводимых переменных не просто создаст интерактивный диалог, но запустит программу. Например, браузер. Ну, или не запустит:
Dim Window, exeName Window = MsgBox("Нажми на какую-то кнопку",1,"АДМИНИСТРАТОР") If Window = 1 Then MsgBox "Вы уверены? Запускаем скрипт..." Set objShell = CreateObject("WScript.Shell") objShell.Run """C:\Program Files\Mozilla Firefox\firefox.exe""" Set objShell = Nothing Else MsgBox "Пропускаем, так пропускаем..." End If
Успехов.
Программа входа в систему — компонент операционной системы Microsoft Windows, отвечающий за вход в систему.
Краткий обзор[]
Исполняемым файлом процесса является winlogon.exe
. Winlogon.exe
запускается процессом smss.exe
вместе с процессом csrss.exe
. Для реализации диалога с пользователем применяется библиотека GINA. Программа входа в систему обрабатывает нажатие Шаблон:Клавиша и Шаблон:Клавиша. Winlogon.exe
подгружает и выполняет код из библиотек Winlogon notification packages. Такие библиотеки применяются системой, программами и вирусамиШаблон:Нет АИ. Они не поддерживаются в Windows Vista[1].
Критичность процесса[]
Процесс winlogon.exe
через стандартный WinAPI невозможно закрыть. Для этого требуется привилегия SE_DEBUG
Шаблон:Нет АИ.
Если всё-таки закрыть процесс, на экране появится синий экран смерти со следующим сообщением:
Шаблон:Начало цитатыc000021a {Fatal System Error} The Windows logon process system process terminated unexpectly with a status…Шаблон:Конец цитаты
что является следствием срабатывания специальной защиты, установленной для процесса winlogon.exe
недокументированной функцией RtlSetProcessIsCritical
библиотеки ntdll.dll
Шаблон:Нет АИ.
В русской версии операционной системы экран заполнится кракозябрами, которые при декодировании значат:
Шаблон:Начало цитатыc000021a {} Непредвиденное завершение системного процесса Windows Logon Process с состоянием…Шаблон:Конец цитаты
Причиной такого сбоя может быть заполнение системного диска до предела, при освобождении места всё возвращается в нормуШаблон:Нет АИ.
В Windows 7 отключение процесса winlogon.exe
вызывает немедленный выход из системы вместо сбояШаблон:Нет АИ.
Функции[]
Программа входа в систему начинает работу, будучи запущенным процессом smss.exe
. После некоторых подготовительных действий, она отображает приглашение ко входу в систему. В ходе запуска операционной системы запускает lsass.exe
и services.exe
. Если активен новый стиль экрана приветствия, то для его отображения запускается процесс logonui.exe
. После входа в систему Программа входа в систему запускает команды, прописанные в параметре Userinit
Реестра Windows — обычно userinit.exe
, которая в свою очередь выполняет запуск программ, прописанных в параметре Shell
— обычно explorer.exe
.
Вредоносные программы[]
Шаблон:Заготовка раздела
Вирусы и другие вредоносные программы могут добавлять Winlogon notification packages и изменять параметры Shell
и Userinit
для заражения системы. Имя winlogon.exe
используют некоторые вирусы для своих файлов, поэтому подозрительными являются все файлы с таким именем, находящиеся в папке, отличной от %SYSTEMROOT%\system32
и %SYSTEMROOT%\dllcache
. Переименовав нужное приложение в %SystemRoot%\System32\logon.scr
, можно добиться его запуска с правами пользователя SYSTEM через 10 минут ожидания ввода имени пользователя и пароля для входа в системуШаблон:Нет АИ.
Примечания[]
- ↑ Winlogon Notification Packages Removed: Impact on Windows Vista Planning and Deployment
Шаблон:Windows-stub
Шаблон:Перевести
Компоненты Microsoft Windows | |
---|---|
Основные |
Aero • |
Службы управления |
Архивация и восстановление • |
Приложения |
Контакты • |
Игры |
Chess Titans • |
Ядро ОС |
Ntoskrnl.exe • |
Службы |
Autorun.inf • |
Файловые системы |
ReFS • |
Сервер |
Active Directory • |
Архитектура |
NT • |
Безопасность |
BitLocker • |
Совместимость |
Подсистема UNIX (Interix) • |
В данной главе
вводится понятие диалога. Это наиболее
важный после меню элемент интерфейса.
Диалог является специальным типом окна,
поддерживающим гибкие средства, используя
которые пользователь может взаимодействовать
с программой. Вообще диалоги позволяют
выбирать или вводить информацию, которую
сложно или даже невозможно ввести,
используя меню.
Диалоги и элементы
управления, содержащиеся в них, – это
довольно большая тема. В настоящей главе
изложены только основы работы с диалогами,
включая их создание и обработку
необходимых сообщений. В последующих
главах диалоги будут использоваться
для изучения некоторых элементов
интерфейса Windows.
5.1. Взаимодействие Win-диалогов с пользователем
Диалог взаимодействует
с пользователем посредством одного или
нескольких элементов управления. Элемент
управления представляет собой особый
тип окна, предназначенный для ввода
или вывода информации. Элементы управления
обычно имеют родительское окно, которым
в примерах данной главы является диалог.
Windows поддерживает несколько типов
элементов управления, включая кнопки
(buttons), контрольные переключатели (check
boxes), селекторные кнопки (radio buttons), списки
(list boxes), окна ввода (edit boxes), комбинированные
списки (combo boxes), линейки прокрутки (scroll
bars) и статические элементы (statics).
-
Кнопка
(button) – это
имитация кнопки на экране, которую
пользователь активизирует щелчком
мыши или нажав [Enter], предварительно
выбрав управляющий элемент клавишей
[Tab]. Вы раньше уже использовали кнопки
в окнах сообщений (например, кнопка
ОК). -
Контрольный
переключатель
(check box) содержит один или более элементов,
которые могут быть отмечены или не
отмечены. Если элемент отмечен,
соответствующий параметр считается
выбранным. Одновременно могут быть два
или более контрольных переключателей. -
Селекторная
кнопка
(radio button) представляет собой почти то
же самое, что и контрольный переключатель,
с той разницей, что одновременно можно
выбрать только одну кнопку. -
Список
(list box)
представляет собой список элементов,
из которых пользователь может выбрать
один (или более). Списки часто используются
для отображения на экране, например,
имен файлов. -
Окно
ввода (edit
box) позволяет пользователю ввести строку
символов. Окна ввода поддерживают все
необходимые для этого возможности.
Таким образом, для получения строки
ввода программа просто отображает
диалог и ожидает, пока пользователь не
закончит ввод требуемой строки. -
Комбинированный
список
(combo box) является комбинацией списка и
окна ввода. -
Линейка
прокрутки
(scrollbar) используется для прокрутки
документа в окне. -
Статический
элемент
(static) предназначен для отображения
информации, которая не может быть
изменена пользователем, и используется
для вывода текста или графики.
Примеры, приведенные
в этой главе, иллюстрируют три типа
элементов управления: кнопки, списки
и окна ввода. Позже будут рассмотрены
и другие элементы управления.
Следует отметить,
что элементы управления не только
генерируют сообщения (при определенных
действиях пользователя), но и принимают
их (от Вашего приложения). Сообщения,
генерируемые элементами управления,
инициируют действия пользователя.
Сообщения для элементов управления
представляют собой команды, на которые
эти элементы должны реагировать. Примеры
работы с такими сообщениями Вы найдете
далее в данной главе.
Диалоги
бывают двух типов: модальные
и немодальные.
В большинстве случаев используются
модальные диалоги. Это означает, что
программа дожидается завершения диалога,
и только затем ее выполнение будет
продолжаться. Модальный диалог не
позволяет также переключить ввод на
другие окна, порожденные приложением.
Немодальный диалог
не задерживает выполнение программы,
то есть для ее продолжения не требуется
завершение диалога. При этом разрешается
переключение между диалогом и другими
окнами приложения.
Сначала рассмотрим
организацию работы с модальными
диалогами, поскольку они встречаются
чаще. Пример использования немодального
диалога завершает данную главу.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Полезное
Смотреть что такое «Windows Logon Process» в других словарях:
-
Windows startup process — The Windows Startup Process is the process by which Microsoft s Windows series of operating systems initializes. DOS based Windows In Windows 3.x and 95/98/ME, the boot loader phase is handled by MS DOS. During the boot phase, the Autoexec.bat… … Wikipedia
-
Windows NT Logon Application — Winlogon компонент операционной системы Microsoft Windows, отвечающий за вход в систему. и т.д. Содержание 1 Краткий обзор 2 Критичность процесса Winlogon 3 Функции Winlogon … Википедия
-
Windows Genuine Advantage — Developer(s) Microsoft Stable release 1.9.42.0 / June 26, 2009; 2 years ago (2009 06 26) … Wikipedia
-
Windows NT startup process — The Windows NT startup process is the process by which Windows NT 4.0, Windows 2000, Windows XP and Windows Server 2003 operating systems initialize. In Windows Vista and later, this process has changed slightly; see Windows Vista startup process … Wikipedia
-
Windows Server domain — A Windows Server domain is a logical group of computers running versions of the Microsoft Windows operating system that share a central directory database. This central database (known as Active Directory starting with Windows 2000Northrup, Tony … Wikipedia
-
Windows Registry — The Windows Registry is a hierarchical database that stores configuration settings and options on Microsoft Windows operating systems. It contains settings for low level operating system components as well as the applications running on the… … Wikipedia
-
Windows Product Activation — is an anti piracy measure created by Microsoft Corporation that enforces the Windows EULA (End User License Agreement) and/or other license agreements.If the Windows operating system is not activated within a limited period of time, it will… … Wikipedia
-
Windows 95 — Part of the Microsoft Windows family … Wikipedia
-
Windows 98 — Part of the Microsoft Windows family … Wikipedia
-
Windows Me — Part of the Microsoft Windows family … Wikipedia
Содержание
- Сведения о процессе
- Основные задачи
- Размещение файла
- Подмена вредоносной программой
- Вопросы и ответы
WINLOGON.EXE – это процесс, без которого невозможен запуск ОС Windows и её дальнейшее функционирование. Но иногда под его личиной кроется вирусная угроза. Давайте разберемся, в чем состоят задачи WINLOGON.EXE и какая опасность может исходить от него.
Сведения о процессе
Данный процесс можно всегда увидеть, запустив «Диспетчер задач» во вкладке «Процессы».
Какие же функции он выполняет и зачем нужен?
Основные задачи
Прежде всего, остановимся на основных задачах данного объекта. Его первостепенной функцией является обеспечение входа в систему, а также выхода из неё. Впрочем, это нетрудно понять даже из самого его наименования. WINLOGON.EXE называют также программой входа в систему. Она отвечает не только за сам процесс, но и за диалог с пользователем во время процедуры входа через графический интерфейс. Собственно, заставки при входе и выходе из Windows, а также окно при смене текущего пользователя, которые мы видим на экране, являются продуктом деятельности указанного процесса. В круг ответственности WINLOGON входит отображение поля для ввода пароля, а также проверка подлинности введенных данных, если вход в систему под конкретным именем пользователя запаролен.
Запускает WINLOGON.EXE процесс SMSS.EXE (Диспетчер сеанса). Он продолжает функционировать в фоне на протяжении всего сеанса. После этого уже сам активированный WINLOGON.EXE запускает LSASS.EXE (Сервис проверки подлинности локальной системы безопасности) и SERVICES.EXE (Диспетчер управления службами).
Для вызова активного окна программы WINLOGON.EXE, в зависимости от версии Виндовс, применяются сочетания Ctrl+Shift+Esc или Ctrl+Alt+Del. Также приложение активирует окно при запуске юзером выхода из системы или при горячей перезагрузке.
При аварийном или принудительном завершении WINLOGON.EXE различные версии Windows реагируют по-разному. В большинстве случаев это приводит к синему экрану. Но, например, в Windows 7 происходит только выход из системы. Наиболее частой причиной аварийной остановки процесса является переполненность диска C. После его очистки, как правило, программа входа в систему работает нормально.
Размещение файла
Теперь давайте выясним, где физически размещен файл WINLOGON.EXE. Это нам в будущем понадобится для отмежевания настоящего объекта от вирусного.
- Для того, чтобы определить место расположения файла с помощью Диспетчера задач, прежде всего нужно переключиться в нем в режим отображения процессов всех юзеров, произведя нажим на соответствующую кнопку.
- После этого кликаем правой кнопкой мышки по наименованию элемента. В раскрывшемся перечне выбираем «Свойства».
- В окне свойств перейдите во вкладку «Общие». Напротив надписи «Расположение» находится адрес размещения искомого файла. Практически всегда этот адрес следующий:
C:\Windows\System32
В очень редких случаях процесс может ссылаться на следующую директорию:
C:\Windows\dllcache
Кроме этих двух директорий больше нигде размещение искомого файла невозможно.
Кроме того, из Диспетчера задач существует возможность перейти в непосредственное место расположения файла.
- В режиме отображения процессов всех пользователей щелкните по элементу правой кнопкой мыши. В контекстном меню выберите «Открыть место хранения файла».
- После этого откроется Проводник в той директории винчестера, где расположен искомый объект.
Подмена вредоносной программой
Но иногда наблюдаемый в Диспетчере задач процесс WINLOGON.EXE может оказаться вредоносной программой (вирусом). Посмотрим, как отличить настоящий процесс от поддельного.
- Прежде всего, нужно знать, что в Диспетчере задач может быть только один процесс WINLOGON.EXE. Если вы наблюдаете больше, то один из них вирус. Обратите внимание, чтобы напротив изучаемого элемента в поле «Пользователь» стояло значение «Система» («SYSTEM»). Если процесс запускается от имени любого другого пользователя, например от имени текущего профиля, то можно констатировать факт, что мы имеем дело с вирусной активностью.
- Также проверьте место расположения файла любым из тех способов, которые были указаны выше. Если оно отличается от тех двух вариантов адресов для данного элемента, которые допускаются, то, опять же, перед нами вирус. Довольно часто вирус находится в корне каталога «Windows».
- Вашу настороженность должен вызвать факт высокого уровня использования ресурсов системы данным процессом. В нормальных условиях он практически неактивен и активизируется только в момент входа/выхода из системы. Поэтому потребляет крайне мало ресурсов. Если WINLOGON начинает грузить процессор и потреблять большое количество оперативки, то мы имеем дело либо с вирусом либо с каким-то сбоем в системе.
- Если хотя бы один из перечисленных подозрительных признаков имеется в наличии, то скачайте и запустите на ПК лечащую утилиту Dr.Web CureIt. Она просканирует систему и в случае обнаружения вирусов произведет лечение.
- Если утилита не помогла, но вы видите, что объектов WINLOGON.EXE в Диспетчере задач два или больше, то остановите тот объект, который не отвечает стандартам. Для этого щелкните по нему правой кнопкой мыши и выберите «Завершить процесс».
- Откроется маленькое окошко, где вы должны будете подтвердить свои намерения.
- После того, как процесс завершен, переместитесь в папку расположения того файла, на который он ссылался, щелкните по этому файлу правой кнопкой мышки и выберите в меню «Удалить». Если система того потребует, подтвердите свои намерения.
- После этого почистите реестр и повторно проверьте компьютер утилитой, так как довольно часто файлы такого типа подгружаются посредством команды из реестра, прописанной вирусом.
Если не удается остановить процесс или снести файл, то зайдите в систему в Безопасном режиме и выполните процедуру удаления.
Как видим, WINLOGON.EXE играет важную роль в функционировании системы. Он непосредственно отвечает за вход и за выход из неё. Хотя, почти что все время, пока пользователь работает на ПК, указанный процесс находится в пассивном состоянии, но при его принудительном завершении продолжение работы в Виндовс становится невозможным. Кроме того, существуют вирусы, которые имеют аналогичное имя, маскируясь под данный объект. Их важно в максимально короткие сроки вычислить и уничтожить.
Еще статьи по данной теме: