Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Другие темы раздела
VB Возможно ли сделать прогу для работы с мобилкой? Да! https://www.cyberforum.ru/ visual-basic/ thread505571.html
Как-то интересовался вопросом: возможно ли сделать прогу для работы с мобилкой. Были ещё участники, которые спрашивали команды. Скачал недавно прикольную прогу...
Как получить список принтеров и очистить очередь печати выбранного принтера? VB
Как получить список принтеров и очистить очередь печати выбранного принтера? Вторая часть "Очистить очередь печати" приоритетнее, хотелось бы узнать как обнулить очередь печати. Это та самая...
VB Библиотека в VB 6.0 для работы например с подключением к интернету
А есть какая нибудь библиотека в VB 6.0 для работы например с подключением к интернету (функции для получения времени нахождения в сети, учёт траффика), для програмного установления подключения к...
VB Захват и сохранение видео фрейма в файл Интересный вопрос, захват видео фрейма из ЛЮБОГО видео файла, не только AVI формата. Есть такая библиотека "ActiveMovie control type Library", по другому оно называется DirectShow, свою программу... https://www.cyberforum.ru/ visual-basic/ thread505518.html
VB RunTime Error 340 Control array element 'item' doesn't exist https://www.cyberforum.ru/ visual-basic/ thread505508.html
Имеется массив элементов А(I). Пользователь может удалить любой элемент из этого массива. Нужно после операции удаления отсортировать этот массив, но в цикле по I при достижении индекса удалённого...
Преобразование из массива байтов в стринг на VBS VB
Есть кусок кода, переделаного с ASP: Dim objXMLHTTP strConn = "PROVIDER=MSDASQL;DRIVER=SQL Server;Server=q;Database=w;User ID=e;Password=r" url = "http://www.ya.ru" Set objXMLHTTP =...
Проблема с размерами иконок в трее VB
Делаю иконку для проги, по правилам должно идти 48x48 на 16, 32x32 на 16, 24x24 на 16, 16x16 на 16, 48x48 на 256, 32x32 на 256, 24x24 на 256, 16x16 на 256, 48x48 на 32b, 32x32 на 32b, 24x24 на 32b,...
VB Как можно загрузить в TextBox большой текст? Скажите, пожалуйста, как можно загрузить в TextBox большой текст? Большой - это порядка одного мегабайта. https://www.cyberforum.ru/ visual-basic/ thread505439.html
VB Список стандартных констант VB https://www.cyberforum.ru/ visual-basic/ thread505437.html
Скажите, пожалуйста, где можно найти список стандартных констант VB? В смысле те константы, которые описывают цвета, клавиши, типы и т.д. Точнее, не просто список (он есть в Object Browser'е), а...
VB Run-Time Error '68': Device Unavailable Как предупредить эту ошибку - Run-Time Error '68': Device Unavailable, она у меня возникает, когда в DriveListBox я выбираю свой CD-Rom, в котором нет диска? https://www.cyberforum.ru/ visual-basic/ thread505434.html
1 / 1 / 0
Регистрация: 18.11.2010
Сообщений: 139
12.09.2006, 01:17 0

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

12.09.2006, 01:17. Просмотров 1883. Ответов 3
Метки (Все метки)

Ответ


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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.09.2006, 01:17
Готовые ответы и решения:

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

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

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

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

3
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.