vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Windows API
Re: Prozess-Owner eines Prozesses ausgeben (VB6.0) ??? 
Autor: Ralf Schoen
Datum: 08.01.04 13:59

Public Function GetProcessUserName(ByVal ProcessID As Long) As String
 
   Dim hProcessID As Long
   Dim hToken As Long
   Dim res As Long
   Dim cbBuff As Long
   Dim tiLen As Long
   Dim TG As TOKEN_GROUPS
   Dim TU As TOKEN_USER
   Dim SIA As SID_IDENTIFIER_AUTHORITY
   Dim lSid As Long
   Dim cnt As Long
   Dim sAcctName1 As String
   Dim sAcctName2 As String
   Dim cbAcctName As Long
   Dim sDomainName As String
   Dim cbDomainName As Long
   Dim peUse As Long
 
   tiLen = 0
 
   hProcessID = OpenProcess(PROCESS_QUERY_INFORMATION Or PROCESS_VM_READ, 0, _
     ProcessID)
 
   If hProcessID <> 0 Then
 
      If OpenProcessToken(hProcessID, TOKEN_READ, hToken) = 1 Then
 
         res = GetTokenInformation(hToken, TokenUser, TU, tiLen, cbBuff)
 
         If res = 0 And cbBuff > 0 Then
 
            tiLen = cbBuff
            res = GetTokenInformation(hToken, TokenUser, TU, tiLen, cbBuff)
 
            If res = 1 And tiLen > 0 Then
 
               SIA.Value(5) = SECURITY_NT_AUTHORITY
 
               res = AllocateAndInitializeSid(SIA, 2, _
                 SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_USERS, 0, 0, 0, _
                 0, 0, 0, lSid)
               If res = 1 Then
 
                  sAcctName1 = Space$(255)
                  sDomainName = Space$(255)
                  cbAcctName = 255
                  cbDomainName = 255
                  res = LookupAccountSid(vbNullString, lSid, sAcctName1, _
                    cbAcctName, sDomainName, cbDomainName, peUse)
 
                  If res = 1 Then
 
                        sAcctName2 = Space$(255)
                        sDomainName = Space$(255)
                        cbAcctName = 255
                        cbDomainName = 255
 
                        res = LookupAccountSid(vbNullString, TU.User.Sid, _
                          sAcctName2, cbAcctName, sDomainName, cbDomainName, _
                          peUse)
                        GetProcessUserName = Replace(Trim(sAcctName2), Chr(0), _
                        "")
 
                  End If
                  FreeSid ByVal lSid
               End If
               CloseHandle hToken
            End If
         End If
      End If
      CloseHandle hProcessID
   End If
End Function

Gru?

Ralf

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Prozess-Owner eines Prozesses ausgeben (VB6.0) ???6.534Dubs06.01.04 14:34
Re: Prozess-Owner eines Prozesses ausgeben (VB6.0) ???4.395Ralf Schoen07.01.04 16:34
Re: Prozess-Owner eines Prozesses ausgeben (VB6.0) ???4.253Dubs07.01.04 21:44
Re: Prozess-Owner eines Prozesses ausgeben (VB6.0) ???4.475Ralf Schoen08.01.04 13:59
Re: Prozess-Owner eines Prozesses ausgeben (VB6.0) ???4.272Ralf Schoen08.01.04 13:59
Re: Prozess-Owner eines Prozesses ausgeben (VB6.0) ???3.995Dubs08.01.04 18:23
Re: Prozess-Owner eines Prozesses ausgeben (VB6.0) ???4.021Dubs09.02.04 11:37
Re: Prozess-Owner eines Prozesses ausgeben (VB6.0) ???4.078Ralf Schoen09.02.04 13:16
Re: Prozess-Owner eines Prozesses ausgeben (VB6.0) ???4.023Dubs09.02.04 16:57
Re: Prozess-Owner eines Prozesses ausgeben (VB6.0) ???4.023Dubs10.02.04 11:37
Re: Prozess-Owner eines Prozesses ausgeben (VB6.0) ???4.094Ralf Schoen10.02.04 12:03
Re: Prozess-Owner eines Prozesses ausgeben (VB6.0) ???3.917Dubs10.02.04 12:14
Re: Prozess-Owner eines Prozesses ausgeben (VB6.0) ???4.427Dubs10.02.04 16:34
Re: Prozess-Owner eines Prozesses ausgeben (VB6.0) ???4.084majoo20.03.04 19:01
Re: Prozess-Owner eines Prozesses ausgeben (VB6.0) ???4.191majoo11.03.04 17:34

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel