vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

Fortgeschrittene Programmierung
Re: citrix Benutzername eine bestimmten Programms ermitteln 
Autor: Struppi
Datum: 06.12.17 20:11

Hallo,
habe eine Möglichkeit gefunden: wenn ich das Modul in ein externes Projekt einfüge mit einen Multiline-Textfeld funktioniert es hervorragend, mein Programm bricht aber nach einigen Durchläufen der Do-While-Schleife der Funktion "ListAllProcesses" ab.
Kann mir jemand sagen warum das so ist ?

Public Function ListAllProcesses(ByVal varFileName As String) As String
Dim processInfo As PROCESSENTRY32 ' information about a process in that list
Dim hSnapshot As Long ' handle to the snapshot of the process list
Dim success As Long ' success of having gotten info on another process
Dim retval As Long ' generic return value
Dim exeName As String ' filename of the process

' First, make a snapshot of the current process list.
hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)

' Get information about the first process in the list.
processInfo.dwSize = Len(processInfo)
success = ProcessFirst(hSnapshot, processInfo)

' Make sure a handle was returned.
If hSnapshot = -1 Then
Debug.Print "Unable to take snapshot of process list!"
Else
' Loop for each process on the list.
Do While success <> 0
' Extract the filename of the process (i.e., remove the empty space)
exeName = left(processInfo.szExeFile, InStr(processInfo.szExeFile, vbNullChar) - 1)

' Display the process name
Debug.Print "Process: "; exeName
Debug.Print "User: "; GetProcessUserName(processInfo.th32ProcessID)
If exeName = varFileName And GetProcessUserName(processInfo.th32ProcessID) = Get_UserName Then
' MsgBox "Jetzt WINWork.exe schliessen!"
TerminateTask processInfo.th32ProcessID
End If
ListAllProcesses = ListAllProcesses & exeName & " - " & GetProcessUserName(processInfo.th32ProcessID) & vbCrLf

' Get information about the next process, if there is one.
processInfo.dwSize = Len(processInfo)
success = ProcessNext(hSnapshot, processInfo)
Loop

' Destroy the snapshot, now that we no longer need it.
retval = CloseHandle(hSnapshot)
End If
End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
citrix Benutzername eine bestimmten Programms ermitteln1.175Struppi29.11.17 14:59
Re: citrix Benutzername eine bestimmten Programms ermitteln665Struppi06.12.17 20:11

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-2024 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