Функция RestartDialog
Declare Function RestartDialog Lib "shell32" ( _
ByVal hwParent As Long, _
ByVal pszPrompt As String, _
ByVal dwFlags As Long) As Long
Функция RestartDialog выводит диалоговое окно с запросом о перезагрузке, которое обычно мы видим во время инсталяции различных программ. Все строки, используемые функцией, должны быть в кодировке Unicode. Поэтому, строки, передаваемые функции нужно конвертировать в Unicode. Раньше эта функция официально не была задокументирована и находилась под номером #59
Declare Function RestartDialog Lib "shell32" Alias "#59" ( _
ByVal hwndOwner As Long, _
ByVal lpstrReason As String, _
ByVal uFlags As Long) As Long
Возвращаемое значение
В успешном случае функция возвращает одно из двух значений
- IDNO = 7
- Пользователь выбрал кнопку "Нет"
- IDYES = 6
- Пользователь выбрал кнопку "Да"
Параметры
- hwParent
- Дескриптор родительского окна
- pszPrompt
- Текст, выводимый в начале сообщения. Данный текст должен заканчиваться либо пробелом, либо переводом на новую строку
- dwFlags
- Один из следующих флагов, определяющих вид операции:
- EWX_LOGOFF = &H0
- Предлагается перезагрузить компьютер. Текст, выводимый после pszPrompt : "Новые параметры вступят в силу только после перезагрузки системы. (Пустая строка) Произвести ее сейчас?"
- EWX_REBOOT = &H2
- Предлагается перезагрузить компьютер. Текст, выводимый после pszPrompt : "Новые параметры вступят в силу только после перезагрузки системы. (Пустая строка) Произвести ее сейчас?"
- EWX_SHUTDOWN = &H1
- Предлагается завершить работу. Текст, выводимый после pszPrompt : "Завершить работу?"
Пример
' Выводим окно о перезагрузке системы
Dim mystring As String ' строчка в начале сообщения
Dim lRet As Long
mystring = StrConv("Русский_Проект." & vbNewLine, vbUnicode)
lRet = RestartDialog(Form1.hWnd, mystring, EWX_REBOOT)
Смотри также
ExitWindowsDialog
Категория
Оболочка