Hallo alle zusammen!
Weiß einer von Euch wie ich den Pfad und den Datei-Namen von anderen Programmen durch die ProzessId bekommen.
Rückgabewert sollte etwa so aussehen: „C:\Windows\Notepad.exe“
Danke an alle die Helfen wollen,
AlexR
Hallo alle zusammen!
Weiß einer von Euch wie ich den Pfad und den Datei-Namen von anderen Programmen durch die ProzessId bekommen.
Rückgabewert sollte etwa so aussehen: „C:\Windows\Notepad.exe“
Danke an alle die Helfen wollen,
AlexR
Hallo,
sieh mal, ob Dir das hilft.
http://www.activevb.de/tipps/vb6tipps/tipp0273.html
Dem Titel nach sollte es das sein, was Du suchst.
Gruß, Rainer
Danke schön!!
Nur habe ich ein weiteres Problem (was ich leider in der Problembeschreibung nicht erwähnt hatte):
Ich nutze VBScript! Und daraus kann ich „Declare“ und spezielle Datentypen nicht verwanden,
Gruß,
AlexR
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Alex,
es ist zwar eilig hier rein kopiert, aber es müsste kein Problem sein, das folgende Programm so anzupassen, dass es anhand der ProzessID den Pfad angibt:
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
eingabe = PROC\_Dialog
Set colItems = objWMIService.ExecQuery("Select \* from Win32\_Process",,48)
For Each objItem in colItems
If objItem.Caption = eingabe Then
WScript.Echo \_
"Caption: " & objItem.Caption & vbCr & \_
"CommandLine: [" & objItem.CommandLine & "]" & vbCr & \_
"CreationClassName: " & objItem.CreationClassName & vbCr & \_
"CreationDate: " & objItem.CreationDate & vbCr & \_
"CSCreationClassName: " & objItem.CSCreationClassName & vbCr & \_
"CSName: " & objItem.CSName & vbCr & \_
"Description: " & objItem.Description & vbCr & \_
"ExecutablePath: " & objItem.ExecutablePath & vbCr & \_
"ExecutionState: " & objItem.ExecutionState & vbCr & \_
"Handle: " & objItem.Handle & vbCr & \_
"HandleCount: " & objItem.HandleCount & vbCr & \_
"InstallDate: " & objItem.InstallDate & vbCr & \_
"KernelModeTime: " & objItem.KernelModeTime & vbCr & \_
"MaximumWorkingSetSize: " & objItem.MaximumWorkingSetSize & vbCr & \_
"MinimumWorkingSetSize: " & objItem.MinimumWorkingSetSize & vbCr & \_
"Name: " & objItem.Name & vbCr & \_
"OSCreationClassName: " & objItem.OSCreationClassName & vbCr & \_
"OSName: " & objItem.OSName & vbCr & \_
"OtherOperationCount: " & objItem.OtherOperationCount & vbCr & \_
"OtherTransferCount: " & objItem.OtherTransferCount & vbCr & \_
"PageFaults: " & objItem.PageFaults & vbCr & \_
"PageFileUsage: " & objItem.PageFileUsage & vbCr & \_
"ParentProcessId: " & objItem.ParentProcessId & vbCr & \_
"PeakPageFileUsage: " & objItem.PeakPageFileUsage & vbCr & \_
"PeakVirtualSize: " & objItem.PeakVirtualSize & vbCr & \_
"PeakWorkingSetSize: " & objItem.PeakWorkingSetSize & vbCr & \_
"Priority: " & objItem.Priority & vbCr & \_
"PrivatePageCount: " & objItem.PrivatePageCount & vbCr & \_
"ProcessId: " & objItem.ProcessId & vbCr & \_
"QuotaNonPagedPoolUsage: " & objItem.QuotaNonPagedPoolUsage & vbCr & \_
"QuotaPagedPoolUsage: " & objItem.QuotaPagedPoolUsage & vbCr & \_
"QuotaPeakNonPagedPoolUsage: " & objItem.QuotaPeakNonPagedPoolUsage & vbCr & \_
"QuotaPeakPagedPoolUsage: " & objItem.QuotaPeakPagedPoolUsage & vbCr & \_
"ReadOperationCount: " & objItem.ReadOperationCount & vbCr & \_
"ReadTransferCount: " & objItem.ReadTransferCount & vbCr & \_
"SessionId: " & objItem.SessionId & vbCr & \_
"Status: " & objItem.Status & vbCr & \_
"TerminationDate: " & objItem.TerminationDate & vbCr & \_
"ThreadCount: " & objItem.ThreadCount & vbCr & \_
"UserModeTime: " & objItem.UserModeTime & vbCr & \_
"VirtualSize: " & objItem.VirtualSize & vbCr & \_
"WindowsVersion: " & objItem.WindowsVersion & vbCr & \_
"WorkingSetSize: " & objItem.WorkingSetSize & vbCr & \_
"WriteOperationCount: " & objItem.WriteOperationCount & vbCr & \_
"WriteTransferCount: " & objItem.WriteTransferCount
End If
Next
Schöne Grüße,
Mohamed.
… hatte noch eine Funktion vergessen:
Function PROC\_Dialog
Set colItems = objWMIService.ExecQuery("Select \* from Win32\_Process",,48)
For Each objItem in colItems
prozessliste = prozessliste & objItem.Caption & vbCr
Next
antw = InputBox("Welchen der folgenden Prozesse möchten Sie abfragen?" & vbCr & vbCr & prozessliste, "Process Information", , 0, 0)
PROC\_Dialog = antw
End Function