Mit den beiden Tipps Option Explicit ' Konstanten Private Const SE_DEBUG_NAME = "SeDebugPrivilege" Private Const SE_PRIVILEGE_ENABLED = &H2 Private Const ANYSIZE_ARRAY = 1 Private Const TOKEN_ADJUST_PRIVILEGES = &H20 Private Const TOKEN_QUERY = &H8 ' Typen Private Type LUID LowPart As Long HighPart As Long End Type Private Type LUID_AND_ATTRIBUTES pLuid As LUID Attributes As Long End Type Private Type TOKEN_PRIVILEGES PrivilegeCount As Long Privileges(ANYSIZE_ARRAY) As LUID_AND_ATTRIBUTES End Type Private Type LARGE_INTEGER LowPart As Long HighPart As Long End Type ' API's 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" ( _ ByVal TokenHandle As Long, _ ByVal DisableAllPrivileges As Long, _ ByRef NewState As TOKEN_PRIVILEGES, _ ByVal BufferLength As Long, _ ByRef PreviousState As Any, _ ByRef ReturnLength As Any) As Long Private Declare Function GetCurrentProcess Lib "kernel32" () As Long Public Function EnableDebugPrivNT() As Boolean Dim hToken As Long Dim DebugValue1 As LARGE_INTEGER Dim DebugValue2 As LUID Dim tkp As TOKEN_PRIVILEGES Dim lResult As Long ' Handle des AccessToken ermitteln lResult = OpenProcessToken(GetCurrentProcess, _ TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, hToken) If lResult = 0 Then EnableDebugPrivNT = False Exit Function End If ' Debuging Privilegien setzen lResult = LookupPrivilegeValue("", SE_DEBUG_NAME, DebugValue1) If lResult = 0 Then EnableDebugPrivNT = False Exit Function End If DebugValue2.HighPart = DebugValue1.HighPart DebugValue2.LowPart = DebugValue1.LowPart tkp.PrivilegeCount = 1 tkp.Privileges(0).pLuid = DebugValue2 tkp.Privileges(0).Attributes = SE_PRIVILEGE_ENABLED ' Debuging Privilegien aktivieren lResult = AdjustTokenPrivileges(hToken, False, tkp, 0, ByVal 0&, 0) If lResult = 0 Then EnableDebugPrivNT = False Exit Function End If EnableDebugPrivNT = True End Function Dieser Tipp wurde bereits 13.682 mal aufgerufen.
Anzeige
![]() ![]() ![]() Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 ![]() Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats sevWizard für VB5/6 ![]() Professionelle Assistenten im Handumdrehen Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |