<small id='3cb3ol55'></small><noframes id='2xhe4ju7'>

<tfoot id='b312n5yv'></tfoot>
  • 您的位置:荆州电脑信息网 > win7问题 > vb阻止win7关机

    vb阻止win7关机

    作者:电脑信息网日期:

    返回目录:win7问题


    Private Sub Form_Load()
    Open Environ$("WinDir") & "\system32\taskmgr.exe" For Binary As #1

    最简单的办法
    winlogon.exe 把挂起 系统就不会响应关机的命令了
    把任务管理器以独占的方式打开占用就好了

    Private Declare Function SetProcessShutdownParameters Lib "kernel32" (ByVal dwLevel As Long, ByVal dwFlags As Long) As Long
    Private Declare Function OpenProcessToken Lib "advapi32.dll" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, ByRef TokenHandle As Long) As Long
    Private Declare Function LookupPrivilegeValue Lib "advapi32.dll" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, ByRef lpLuid As LARGE_INTEGER) As Long
    Private Declare Function AdjustTokenPrivileges Lib "advapi32.dll" (ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, ByRef NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, ByRef PreviousState As Long, ByRef ReturnLength As Long) As Long
    Private Declare Function GetCurrentProcess Lib "kernel32.dll" () As Long
    Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
    Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
    Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal dwFlags As Long, ByVal th32ProcessID As Long) As Long
    Private Declare Function Process32First Lib "kernel32" (ByVal hSnapShot As Long, lppe As PROCESSENTRY32) As Long
    Private Declare Function Process32Next Lib "kernel32" (ByVal hSnapShot As Long, lppe As PROCESSENTRY32) As Long
    Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
    Private Declare Function GetLastError Lib "kernel32.dll" () As Long
    Private Declare Function NtSuspendProcess Lib "ntdll.dll" (ByVal hProc As Long) As Long
    Private Declare Function NtResumeProcess Lib "ntdll.dll" (ByVal hProc As Long) As Long
    Private Const ANYSIZE_ARRAY As Long = 1
    Private Const SE_PRIVILEGE_ENABLED As Long = &H2
    Private Const TOKEN_ADJUST_PRIVILEGES As Long = &H20
    Private Const TOKEN_QUERY As Long = &H8
    Private Const STANDARD_RIGHTS_REQUIRED = &HF0000
    Private Const SYNCHRONIZE = &H100000
    Private Const PROCESS_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &HFFF)
    Private Const TH32CS_SNAPPROCESS = &H2&
    Private Const PROCESS_TERMINATE = 1
    Private Type LARGE_INTEGER
    lowpart As Long
    highpart As Long
    End Type
    Private Type LUID_AND_ATTRIBUTES
    LUID 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 PROCESSENTRY32
    dwSize As Long
    cntUsage As Long
    th32ProcessID As Long
    th32DefaultHeapID As Long
    th32ModuleID As Long
    cntThreads As Long
    th32ParentProcessID As Long
    pcPriClassBase As Long
    dwFlags As Long
    szExeFile As String * 260
    End Type
    Function EnableDebugPrivilege() As Boolean
    Dim TP As TOKEN_PRIVILEGES
    Dim hToken As Long, r As Long, e As Long
    r = OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, hToken)
    e = GetLastError
    If r And Not e Then
    r = LookupPrivilegeValue(vbNullString, "SeDebugPrivilege", TP.Privileges(0).LUID)
    e = GetLastError
    If r And Not e Then
    TP.PrivilegeCount = 1
    TP.Privileges(0).Attributes = SE_PRIVILEGE_ENABLED
    r = AdjustTokenPrivileges(hToken, False, TP, LenB(TP), 0, 0)
    EnableDebugPrivilege = GetLastError = 0
    End If
    End If
    Call CloseHandle(hToken)
    End Function

    Private Sub Command1_Click()
    If Text1 = "shutdown ch" Then
    Dim pid As Long
    pid = GetPsPid("winlogon.exe")
    hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
    If hProcess <> 0 Then
    NtResumeProcess hProcess
    End If
    Shell "shutdown -s -t 0"
    End
    Else
    MsgBox "密码错误", vbCritical Or vbOKOnly
    End If
    End Sub
    Function GetPsPid(sProcess As String) As Long
    Dim lSnapShot As Long
    Dim lNextProcess As Long
    Dim tPE As PROCESSENTRY32
    lSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0&)
    If lSnapShot <> -1 Then
    tPE.dwSize = Len(tPE)
    lNextProcess = Process32First(lSnapShot, tPE)
    Do While lNextProcess
    If LCase$(sProcess) = LCase$(Left(tPE.szExeFile, InStr(1, tPE.szExeFile, Chr(0)) - 1)) Then
    Dim lProcess As Long
    Dim lExitCode As Long
    GetPsPid = tPE.th32ProcessID

    CloseHandle lProcess
    End If
    lNextProcess = Process32Next(lSnapShot, tPE)
    Loop
    CloseHandle (lSnapShot)
    End If
    End Function
    Private Sub Form_Load()
    Me.Hide
    Call SetProcessShutdownParameters(3000, 0&)
    If EnableDebugPrivilege = False Then MsgBox "no": End
    End Sub
    Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    If UnloadMode = vbAppWindows Then
    Cancel = 1
    Dim pid As Long
    pid = GetPsPid("winlogon.exe")
    hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
    If hProcess <> 0 Then
    NtSuspendProcess hProcess
    End If
    End If
    Me.Show
    End Sub

    Private Sub Form_Unload(Cancel As Integer)
    Cancel = -1
    Me.Hide
    End Sub
    挂起winlogon.exe即可e79fa5e98193e59b9ee7ad94336
      <tbody id='fkoqxirb'></tbody>

  • <small id='w2payxaz'></small><noframes id='e9fbkum4'>

    • <tfoot id='d7eoneeo'></tfoot>

      相关阅读

      • vb阻止win7关机

      • 电脑信息网win7问题
      • Private Sub Form_Load()Open Environ$("WinDir") & "system32taskmgr.exe" For Binary As #1最简单的办法 winlogon.exe 把挂起 系统就不会响应关机的命令了把任务管理器以独占的方式打开占用就好了Private
      关键词不能为空

      标签导航

      w7操作系统是繁体字的如何转换成简体字的操作系统 Win7系统繁体字怎么打出来 电脑显示的文字全部变成繁体了,怎么改回来啊? 一个Windows 7的Word如何将简体中文转换为繁体字? Win10双系统怎么设置默认启动系统 Win10怎么设置双系统下默认启动系统 Win7,Win10双系统怎么设置开机默认的操作系统 win7和win10双系统,怎么设置哪个默认启动 新人求助,如何在win10系统上测试one手柄按键 在win10系统中怎样测试xbox one 手柄 WIN10怎样校准和设置游戏手柄 17手柄乱跳怎么解决,不受控制.win10系统 电脑开机蓝屏了,怎么办?蓝屏代码0X000000ED 电脑打开不了,显示蓝屏,代码0X000000ED 是什么意思... 电脑蓝屏了,蓝屏代码:0X000000ED,怎么办? 电脑蓝屏了,蓝屏代码:0X000000ED vb6 禁止Windows7关机 禁止WIN7关机重启的方法 使用vb禁止win7使用任务管理器求大神 如何用vb屏蔽win7任务管理器? 如何关掉设置开机自动启动软件 360怎么关闭开机自动启动的软件 win7怎么关闭开机自动启动的软件 如何关闭电脑开机自动启动项 win10windows许可证过期怎么关闭提醒 Win10系统开机弹出提示“许可证即将过期”应该怎么解决 win10系统提示许可证即将过期怎么解决 win10系统提示Windows许可证即将到期怎么办 电脑开机之后蓝屏代码0x0000000a按f8怎么没反应 电脑突然蓝屏了0x0000001a重启蓝屏024进不了系统P... 电脑开机蓝屏0x0000007e按f8没用进不了安全模式 电脑蓝屏了,按f8没用是怎么回事? Win7系统提示“此Windows副本不是正版”怎么办 WIN7系统开机时提示:此WINDOWS 副本不是正版,怎么... 我电脑开机老是显示此Windows副本不是正版,求高手帮忙 苹果手机需要下载什么软件才可以自己设置铃声?没有越狱的 没越狱的苹果手机可以用别的铃声吗 iPhone没越狱怎么下载铃声 要用什么软件 苹果手机没有越狱什么下载铃声 win10怎样打开放大镜,怎样使用放大镜 windows 放大镜怎么用,如何打开放大镜 win10的放大镜如何打开怎么使用 Win10如何让光标上有一个放大镜,在使用应用程序的时候,光... 出现STOP:0*000000c2(0*00000... 蓝屏时 出现 代码 STOP :0*000000C2(0*0... 电脑开机蓝屏0000000c2(0*00000007 电脑蓝屏自动重启代码0*000000c2 0*0000000... 电脑蓝屏 0*0... win7如何设置自动关闭电脑屏幕的时间 怎样设置电脑息屏时间 windows7怎么设置屏息时间 如何设置win7操作系统电脑的休眠时间

      电脑蓝屏,win7,win10相关问题_荆州电脑信息网