Wie bekomme ich die Prozess ID aus HWND die Verwendung von managed VB.net code?

Ist es geschafft VB.net Weg, um die Prozess-ID aus der HWND, anstatt mit dieser Windows-API-Aufruf.

Private Declare Auto Function GetWindowThreadProcessId Lib "user32.dll" (ByVal hwnd As IntPtr, _
              ByRef lpdwProcessId As Integer) As Integer

Sub GetProcessID()

    'start the application
    Dim xlApp As Object = CreateObject("Excel.Application")

    'get the window handle
    Dim xlHWND As Integer = xlApp.hwnd

    'this will have the process ID after call to GetWindowThreadProcessId
    Dim ProcIdXL As Integer = 0

    'get the process ID
    GetWindowThreadProcessId(xlHWND, ProcIdXL)

    'get the process
    Dim xproc As Process = Process.GetProcessById(ProcIdXL)

End Sub
Kurze Antwort, Nein.
Es gibt ein paar Dinge hier, die erhöhen roten Fahnen. 1. Warum verwenden Sie CreateObject, wenn Office bietet die PIAs? 2. Warum müssen Sie Excel, Prozess-ID?
Ihre roten Fahnen, die außerhalb des Anwendungsbereichs dieser Frage. Viele andere Fragen wurden aufgeworfen und beantwortet, die sich mit diesen Fragen. Ich will nicht duplizieren diese.
na dann hoffe ich, dass jemand anderes kümmert sich um Ihre Fragen zu beantworten.
Lustig, die Sie erwähnen, als der Schwarze Frosch schon meine Frage beantwortet. Oh, und es ist eine Frage, die nicht Fragen. Vielen Dank für die Pflege

InformationsquelleAutor D_Bester | 2013-07-22

Schreibe einen Kommentar