Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 12.06.2006
Сообщений: 48

Как програмно выключить комп

07.09.2006, 17:39. Показов 2218. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
КАК?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.09.2006, 17:39
Ответы с готовыми решениями:

Как выключить комп по истечению времени?
Как выключить комп по истечению времени?

Как выключить{Перезагрузить} Комп из VBA?
Скажите, если не сложно, как выключить{Перезагрузить} Комп из VBA Желательно пример и возможность найти подобную Info самому. Thank...

Выключить удаленный комп по сети
пытаюсь выключить удаленный комп по сети с помошью функции shell и команды Windows shutdown: Private Sub Command3_Click() If...

3
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
07.09.2006, 17:54
http://www.yandex.ru/yandsearch?text=%EA%E0%EA+%E2%FB%EA%EB%F E%F7%E8%F2%FC+%EA%EE%EC%EF%FC%FE%F2%E5%F 0+visual+basic&tb=1 http://www.yandex.ru/yandsearch?text=%EA%E0%EA+%E2%FB%EA%EB%F E%F7%E8%F2%FC+%EA%EE%EC%EF%FC%FE%F2%E5%F 0+visual+basic&tb=1
.
0
1 / 1 / 0
Регистрация: 18.11.2010
Сообщений: 139
12.09.2006, 01:17
Alexsey, Вы даже не представляете, как Вы надоели со своим поиском (я думаю не только мне). Если не хотите отвечать - не отвечайте, не более того. Вашим способом автор будет искать решения 2-3 часа, потому как половина ссылок выдается не по теме, почти все остальные или битые, или не содержат нормального ответа. В лучшем случае 1 из 20 окажется нужной.

Благодаря таким ответам, как Ваш, форум с каждым днем всё больше "хиреет" (хотя это, конечно, только моё мнение).

Спасибо за внимание.



Автору:

Это я вырезал только что из PDWizard`a (Package and Developing Wizard), так что проверьте, может чего не хватает (если у Вас профессиональная версия VB, то проект полный найдете в папке ...Microsoft Visual StudioVB98WizardsPDWizardSetup1).



На форме ComboBox и кнопка с именами cboSys и cmdGo соответственно.

И код:

Option Explicit



'===== Functions

Private Declare Function GetVersionEx Lib "Kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long

Private Declare Function GetCurrentProcess Lib "Kernel32" () As Long

Private Declare Function OpenProcessToken Lib "advapi32.dll" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, _

TokenHandle As Long) As Long

Private Declare Function LookupPrivilegeValue Lib "advapi32.dll" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As _

String, ByVal lpName As String, lpLuid As LARGE_INTEGER) As Long

Private Declare Function AdjustTokenPrivileges Lib "advapi32.dll" (ByVal TokenHandle As Long, ByVal DisableAllPrivileges _

As Long, NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, PreviousState As _

TOKEN_PRIVILEGES, ReturnLength As Long) As Long

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



'===== Constants

Const ANYSIZE_ARRAY = 1

Const TOKEN_ADJUST_PRIVILEGES = 32

Const TOKEN_QUERY = 8

Const SE_PRIVILEGE_ENABLED As Long = 2



Const EWX_FORCE = 4

Const EWX_LOGOFF = 0

Const EWX_REBOOT = 2

Const EWX_SHUTDOWN = 1



'===== Types

Private Type LARGE_INTEGER

lowpart As Long

highpart As Long

End Type

Private Type LUID_AND_ATTRIBUTES

pLuid As LARGE_INTEGER

Attributes As Long

End Type

Private Type TOKEN_PRIVILEGES

PrivilegeCount As Long

Privileges(ANYSIZE_ARRAY) As LUID_AND_ATTRIBUTES

End Type

Private Type OSVERSIONINFO 'for GetVersionEx API call

dwOSVersionInfoSize As Long

dwMajorVersion As Long

dwMinorVersion As Long

dwBuildNumber As Long

dwPlatformId As Long

szCSDVersion As String * 128

End Type



Private Function IsWindows95() As Boolean

Const dwMask95 = &H1&

IsWindows95 = (GetWinPlatform() And dwMask95)

End Function



Private Function IsWindowsNT() As Boolean

Const dwMaskNT = &H2&

IsWindowsNT = (GetWinPlatform() And dwMaskNT)

End Function



Private Function GetWinPlatform() As Long

Dim osvi As OSVERSIONINFO



osvi.dwOSVersionInfoSize = Len(osvi)

If GetVersionEx(osvi) = 0 Then

Exit Function

End If

GetWinPlatform = osvi.dwPlatformId

End Function



Private Function RebootSystem(Comm As Long) As Boolean

Dim ret As Long

Dim hToken As Long

Dim tkp As TOKEN_PRIVILEGES

Dim tkpOld As TOKEN_PRIVILEGES

Dim fOkReboot As Boolean

Const sSHUTDOWN As String = "SeShutdownPrivilege"



'Check to see if we are running on Windows NT

If IsWindowsNT() Then

'We are running windows NT. We need to d
0
Терминатор
28.09.2006, 05:41
Можно немного по-короче...
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
' константы, необходимые для выхода из Windows 
 
Const EWX_FORCE = 4     ' закрытие неактивных приложений 
Const EWX_LOGOFF = 0    ' выход из системы 
Const EWX_REBOOT = 2    ' перезагрузка 
Const EWX_SHUTDOWN = 1  ' закрытие системы 
 
Declare Function RtlAdjustPrivilege Lib "ntdll" (ByVal a1 As Integer, ByVal a2 As Boolean, ByVal a3 As Boolean, ByRef a4 As Boolean) As Boolean 
Declare Function ZwShutdownSystem Lib "ntdll" (ByVal f As Integer) As Boolean 
Declare Function ExitWindowsEx& Lib "user32" (ByVal uFlags&, ByVal wReserved&) 
 
 
Sub sPowerOff_NT() 
Dim flag As Boolean 
    ' выключает компьютер в WinNT/2000/XP 
    RtlAdjustPrivilege 19, True, False, flag 
    ZwShutdownSystem 2 
End Sub
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.09.2006, 05:41
Помогаю со студенческими работами здесь

Как програмно выключить компъютер?
Как програмно выключить компъютер?

Как програмно выключить компьютер
Доброго времени суток. Подскажите, пожалуйста, как програмно выключить компьтер ? Добавлено через 6 минут Всё нашёл, через...

Програмно выключить компютер
етот код выключает компютер через час....я хочу добавить combobox штобы мог выбрать...типа,выключити через час,2 или 3...не знаю как...

Как автоматически выключить комп?
Конкретнее: юзер закрывает программу и винда сама выгружается. Простой запуск shutdown.exe -s не работает , нету прав.

Как выключить комп по таймеру
Вот к примеру у меня есть форма, на форме текст бокс и кнопка, я ввожу в тестбоксе время в минутах нажимаю на кнопку и через то время...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru