Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
44 / 44 / 4
Регистрация: 30.04.2011
Сообщений: 283
1

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

15.06.2011, 20:11. Показов 1336. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как програмно сделать обычное выключение компьютера?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.06.2011, 20:11
Ответы с готовыми решениями:

Как програмно отключить батарею ноутбука?
Как програмно отключить батарею ноутбука? Делю прогу, и хочу сделать, чтобы при полной зарядке она...

Как програмно отключить модем и сеть в ХР?
Как програмно отключить модем и сеть в Виндов ХР

Как програмно отключить правую кнопку мыши?
Народ подскажите как програмно отключить правую кнопку мыши? иль чтобы в СppWebBrouser при нажатии...

Как програмно отключить УЖЕ работающий скринсейвер
Всем здравствуйте. Вот код: __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { ...

3
Почетный модератор
21415 / 9150 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
15.06.2011, 20:23 2
VB.NET
1
Shell("shutdown -s -f -t 0")
2
559 / 436 / 21
Регистрация: 16.12.2010
Сообщений: 953
15.06.2011, 21:31 3
Лучший ответ Сообщение было отмечено как решение

Решение

а можно вот так :
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
Public Class Form1
    Private Const STANDARD_RIGHTS_REQUIRED = &HF0000
    Private Const READ_CONTROL = &H20000
    Private Const STANDARD_RIGHTS_READ = (READ_CONTROL)
    Private Const STANDARD_RIGHTS_WRITE = (READ_CONTROL)
    Private Const STANDARD_RIGHTS_EXECUTE = (READ_CONTROL)
    Public Enum TokenRights
        TOKEN_ASSIGN_PRIMARY = &H1
        TOKEN_DUPLICATE = &H2
        TOKEN_IMPERSONATE = &H4
        TOKEN_QUERY = &H8
        TOKEN_QUERY_SOURCE = &H10
        TOKEN_ADJUST_PRIVILEGES = &H20
        TOKEN_ADJUST_GROUPS = &H40
        TOKEN_ADJUST_DEFAULT = &H80
        TOKEN_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED Or TOKEN_ASSIGN_PRIMARY Or TOKEN_DUPLICATE Or TOKEN_IMPERSONATE Or TOKEN_QUERY Or TOKEN_QUERY_SOURCE Or TOKEN_ADJUST_PRIVILEGES Or TOKEN_ADJUST_GROUPS Or TOKEN_ADJUST_DEFAULT)
        TOKEN_READ = (STANDARD_RIGHTS_READ Or TOKEN_QUERY)
        TOKEN_WRITE = (STANDARD_RIGHTS_WRITE Or TOKEN_ADJUST_PRIVILEGES Or TOKEN_ADJUST_GROUPS Or TOKEN_ADJUST_DEFAULT)
        TOKEN_EXECUTE = (STANDARD_RIGHTS_EXECUTE)
    End Enum
    Public Enum PrivilegeAttributes
        SE_PRIVILEGE_ENABLED_BY_DEFAULT = &H1
        SE_PRIVILEGE_ENABLED = &H2
        SE_PRIVILEGE_USED_FOR_ACCESS = &H80000000
    End Enum
    Public Enum ExitOptions
        EWX_LOGOFF = 0
        EWX_SHUTDOWN = 1
        EWX_REBOOT = 2
        EWX_FORCE = 4
    End Enum
    Public Enum TokenAccess
        TokenUser = 1
        TokenGroups = 2
        TokenPrivileges = 3
        TokenOwner = 4
        TokenPrimaryGroup = 5
        TokenDefaultDacl = 6
        TokenType = 8
        TokenImpersonationLevel = 9
        TokenStatistics = 10
    End Enum
    Private Structure LUID
        Public lowPart As Int32
        Public HighPart As Int32
    End Structure
    Private Structure LUID_AND_ATTRIBUTES
        Public pLuid As LUID
        Public Attributes As PrivilegeAttributes
    End Structure
    Private Structure PTOKEN_PRIVILEGES
        Public PrivilegeCount As Int32
        Public Privileges As LUID_AND_ATTRIBUTES
    End Structure
    Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
    Private Declare Function OpenProcessToken Lib "advapi32" (ByVal ProcessHandle As Long, ByVal DesiredAccess As TokenRights, ByRef TokenHandle As Long) As Long
    Private Declare Function LookupPrivilegeValueA Lib "advapi32" (ByVal lpSystemName As String, ByVal lpName As String, ByRef lpLuid As LUID) As Long
    Private Declare Function AdjustTokenPrivileges Lib "advapi32" (ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, ByRef NewState As PTOKEN_PRIVILEGES, ByVal BufferLength As Long, ByRef PreviousState As Long, ByRef ReturnLenght As Long) As Long
    Private Declare Function AdjustTokenPrivilegesOld Lib "advapi32" Alias "AdjustTokenPrivileges" (ByVal TokenHandle As Long, ByVal disableAllPrivileges As Long, ByRef NewState As PTOKEN_PRIVILEGES, ByVal BufferLength As Long, ByRef PreviousState As PTOKEN_PRIVILEGES, ByRef ReturnLenght As Long) As Long
    Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As ExitOptions, ByVal dwReserved As Long) As Long
    Public Function ShutDown(ByVal Operation As ExitOptions) As Long
        Dim lngProcess As Long
        Dim lngReturn As Long
        Dim lngToken As Long
        Dim udtLUID As LUID
        Dim lngTokenPrivileges As TokenRights
        Dim udtTokenPrivNew As PTOKEN_PRIVILEGES
        lngProcess = GetCurrentProcess()
        lngTokenPrivileges = TokenRights.TOKEN_ADJUST_PRIVILEGES
        lngReturn = OpenProcessToken(lngProcess, lngTokenPrivileges, lngToken)
        lngReturn = LookupPrivilegeValueA(vbNullString, "SE_SHUTDOWN_NAME", udtLUID)
        udtTokenPrivNew.PrivilegeCount = 1
        udtTokenPrivNew.Privileges.Attributes = PrivilegeAttributes.SE_PRIVILEGE_ENABLED
        udtTokenPrivNew.Privileges.pLuid = udtLUID
        lngReturn = AdjustTokenPrivileges(lngToken, 0, udtTokenPrivNew, 0&, 0, 0&)
        ShutDown = ExitWindowsEx(Operation, 0)
    End Function
 
    Dim i As Integer = 2 ' сюда пишим нужную цифру
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Select Case i
            Case 0 '"Автоматическое выключение компьютера"
                Me.ShutDown(ExitOptions.EWX_SHUTDOWN)
            Case 1 ' "Автоматическая перезагрузка компьютера"
                Me.ShutDown(ExitOptions.EWX_REBOOT)
            Case 2 '"Автоматический выход из учётной записи"
                Me.ShutDown(ExitOptions.EWX_LOGOFF)
            Case 3 '"Быстрое выключение"
                Me.ShutDown(ExitOptions.EWX_FORCE)
        End Select
    End Sub
End Class
5
44 / 44 / 4
Регистрация: 30.04.2011
Сообщений: 283
16.06.2011, 12:25  [ТС] 4
Спасибо.
0
16.06.2011, 12:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.06.2011, 12:25
Помогаю со студенческими работами здесь

Как отключить брандмауэр или отключить фаервол
Я отключаю защитника Windows server 2012 . Отключаю фаервол. Расшариваю папки. В свойствах сети...

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

Зависает компьтер
Вовремя игры в различные игры происходит зависание компьютера (персонаж не реагирует на нажатие...

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru