差不多一个意思,懒得拼这么多东西
- Private Declare Function RtlAdjustPrivilege Lib "ntdll.dll" (ByVal Privilege As Long, ByVal Enable As Long, ByVal CurrentThread As Long, Enabled As Long) As Long
- Private Declare Function NtSetInformationProcess Lib "NTDLL.DLL" (ByVal ProcessHandle As Long, ByVal ProcessInformationClass As Long, ByRef ProcessInformation As Any, ByVal lProcessInformationLength As Long) As Long
- Const ProcessBreakOnTermination = 29
- Private Sub Form_Load()
- Call RtlAdjustPrivilege(&H14, 1, 0, 0)'获取14号权限令牌
- Call NtSetInformationProcess (-1, ProcessBreakOnTermination, 1&, 4)'提升进程为关键进程
- End Sub
- Private Sub Form_Unload(Cancel As Integer)
- Call NtSetInformationProcess (-1, ProcessBreakOnTermination, 0&, 4)'降低进程为普通进程
- End Sub
复制代码
上次锁屏发了NtSetInformationProcess的解决方法,C系是true,null,false起、false,null,false落,按理来说VB是100和000,不过VB的IDE有问题,所以起是001,降不明(似乎没有)
总之,要搞这东西还是用NtSetInformationProcess。 |