Laufen bekommen-Prozess die Prozess-handle
kann mir jemand sagen wie ich erfassen kann einen Laufenden Prozess, in c# mittels der process-Klasse, wenn ich schon weiß, der Griff?
Id eher nicht haben, nicht haben, zum auflisten der getrunning Prozesse Methode. pInvoke ist ok, wenn möglich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In plain C#, wie es aussieht, müssen Sie eine Schleife durch Sie alle:
Obigen Beispiel absichtlich schlägt fehl, wenn das handle nicht gefunden. Ansonsten könnten Sie natürlich auch
SingleOrDefault
. Offenbar, Sie mag es nicht, und Sie um den Griff der Prozess-ID0
, daher die zusätzliche Bedingung.Mithilfe der WINAPI, die Sie verwenden können,
GetProcessId
. Ich konnte ihn nicht finden auf pinvoke.net sollten Sie das aber tun:(Signatur verwendet eine
DWORD
, sondern Prozess-IDs vertreten durchint
s in der .NET BCL)Scheint es ein wenig seltsam, dass Sie hatte einen Griff, aber nicht die Prozess-ID jedoch. Prozess behandelt werden erworben durch Berufung
OpenProcess
, die eine Prozess-ID.Scheint es keinen einfachen Weg, dies zu tun durch die .Net-API. Die Frage ist, wo Sie bekam, dass der Griff aus? Wenn durch die gleiche Weise können Sie den Zugriff auf die Prozesse ID, die Sie verwenden könnten:
Process.GetProcessById (int iD)
Könnten Sie die GetWindowThreadProcessId WinAPI-Aufruf
http://www.pinvoke.net/default.aspx/user32/GetWindowThreadProcessId.html
Um die Prozess-Id - dann erhalten Sie ein Prozess-Objekt mit, dass.....
Aber warum willst du nicht zum auflisten von den ids der Laufenden Prozesse?
GetProcessId
ist, was er braucht.