WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  Visual Basic
  Перезагрузка/выключение

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Перезагрузка/выключение
7in опубликован 30-10-2001 22:57 MSK   Click Here to See the Profile for 7in   Click Here to Email 7in  
Почему это не работает?...

Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

Private Sub Main()
ExitWindowsEx EWX_POWEROFF, 0
End Sub

Точнее, работает не так как надо: какой бы параметр не задавался на месте EWX_POWEROFF, всегда происходит "завершение сеанса" и появляется окно с вводом имени юзера и пароля (для входа в систему).
Запускалось это под Windows 98. Visual Basic, правда старый - четвёртый, но всё равно ж работать должно!!!

AlexR опубликован 31-10-2001 18:32 MSK     Click Here to See the Profile for AlexR  Click Here to Email AlexR     
Нужно писать REBOOTH - перезагрузка, SHUTDOWN - выключение.
AlexR опубликован 31-10-2001 18:32 MSK     Click Here to See the Profile for AlexR  Click Here to Email AlexR     
Нужно писать REBOOTH - перезагрузка, SHUTDOWN - выключение.
AlexR опубликован 31-10-2001 18:32 MSK     Click Here to See the Profile for AlexR  Click Here to Email AlexR     
Нужно писать REBOOTH - перезагрузка, SHUTDOWN - выключение.
7in опубликован 31-10-2001 22:42 MSK     Click Here to See the Profile for 7in  Click Here to Email 7in     
Нет, Вася..., т.е... ну не важно; не работает! Ты откуда вообще это взял???
AlexR опубликован 02-11-2001 18:07 MSK     Click Here to See the Profile for AlexR  Click Here to Email AlexR     
Вот тебе код:
Размещаем две кнопки.Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Const EWX_SHUTDOWN = 1
Const EWX_REBOOT = 2

Function REBOOT()
Dim r As Long
r = ExitWindowsEx(EWX_REBOOT, 0)
End Function

Function SHUTDOWN()
Dim r As Long
r = ExitWindowsEx(EWX_SHUTDOWN, 0)
End Function

Private Sub Command1_Click()
REBOOT
End Sub

Private Sub Command2_Click()
SHUTDOWN
End Sub

Lamer опубликован 02-11-2001 23:47 MSK     Click Here to See the Profile for Lamer  Click Here to Email Lamer     
Вообще EWX_POWEROFF предназначена для выключения питания и работает не на всех компах (только на ) и, поэтому ничего удивительного! Но если не работает и REBOOT с SHUTDOWN то твой VB 4.0 не совместим с Win32. Это просто исправить, нажми на Пуск, выбери Выполнить, набери "deltree /y [путь к каталогу с VB]". Вот и все дела!
Lamer опубликован 02-11-2001 23:48 MSK     Click Here to See the Profile for Lamer  Click Here to Email Lamer     
Вообще EWX_POWEROFF предназначена для выключения питания и работает не на всех компах (только на ATX) и, поэтому ничего удивительного! Но если не работает и REBOOT с SHUTDOWN то твой VB 4.0 не совместим с Win32. Это просто исправить, нажми на Пуск, выбери Выполнить, набери "deltree /y [путь к каталогу с VB]". Вот и все дела!
Lamer опубликован 02-11-2001 23:52 MSK     Click Here to See the Profile for Lamer  Click Here to Email Lamer     
Есть ещё один вариант, ты забыл оъявить константу (Const EWX_SHUTDOWN = 1) и не знаешь оператора Option Explicit!
Vasya2000 опубликован 03-11-2001 14:04 MSK     Click Here to See the Profile for Vasya2000  Click Here to Email Vasya2000     
Public Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Public Const EWX_FORCE = 4

Public Const EWX_LOGOFF = 0

Public Const EWX_REBOOT = 2

Public Const EWX_SHUTDOWN = 1

Использование:

ExitWindowsEx EWX_FORCE + EWX_REBOOT, 0

7in опубликован 03-11-2001 21:44 MSK     Click Here to See the Profile for 7in  Click Here to Email 7in     
Спасибо, народ, всё работает! Это я прогнал... :)

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.