Handle zu Prozess, Title dazu?



  • Hi.

    Wenn ich ein Handle zu einem Prozess aufgebaut habe, wie kann ich dann dessen Titel herausfinden? Mit Titel meine ich den Namen, mit welchem das Programm in der Taskleiste angezeigt wird, wenn es denn ein Prozess ist, welcher dort angezeigt wird. Mir geht es darum, einen Bezug der beiden Spalten ("Anwendungen" und "Prozesse") im Taskmanager aufzubauen. Ich möchte also die Prozesse durchforsten, und überprüfen, welcher Prozess auch unter Anwendungen aufgelistet ist und wie er dort heißt. Das Durchforsten der Prozesse und die Erstellung eines Handels zu den einzelnen Prozessen ist kein Problem. Über dieses Handle müsste ich doch auch den Title herausbekommen.!?

    Danke für eure Ratschläge.



  • Ein Prozess kan mehrere Fenster in der Task-Leiste haben... deshlab musst Du mittels EnumWindows alle Top-Level Fenster durchgehen, mit der ProzessID vergleichen und die Sichtbaren mit dem passenden Stil (kein WS_POPUP) sind es dann.



  • Ok. Habe jetzt alle Anwendungen auflisten können. Habe auch die ID's dazu und könnte sie jetzt vergleichen. Wäre auch kein Problem mehr, denke ich. Aber es werden alle Anwendungen aufgelistet, die auch im Hintergrund laufen. Du sagtest etwas von WS_POPUP. Das hilft mir sicherlich. Aber ich weiß nicht, wo es hin muss 😕 . Ein kleiner Tip wäre noch sehr Hilfreich.

    Danke



  • Du kannst den WindowStyle auslesen mit z.B. GetWindowLong und dem Parameter GWL_STYLE.
    Dann kannst Du gucken, ob in den Styles WS_POPUP vorkommt...



  • if((GetWindowLongPtr(hWnd, GWL_STYLE) & WS_POPUP))
       // Fenster enthält das Style-Flag WS_POPUP...
    else
       // Fenster enthält das Style-Flag WS_POPUP NICHT...
    


  • Ok. Das ist schon besser. Aber es werden immer noch zu viele angezeigt. Ich möchte wirklich nur noch die Anwendungen angezeigt bekommen, welche ich auch im Taskmanager unter "Anwendungen" sehen kann. Das sind im Moment noch 17 zu viel.

    Danke für eure Hilfe.



  • Was für Eigenschaften haben diese Fenster denn ? (die zu viel sind)



  • Hat sich schon erledigt. Habe mir eine neuere Borland Version besorgt. In meiner alten Version war nichts in der Hilfe dazu zu finden. In der neuen Version steht ja alles bestens erklärt. Ich habe mich dann für WS_VISIBLE entschieden. Damit werden alle Anwendungen aufgelistet, welche auch im Task-Manager unter "Anwendungen" angezeigt werden.
    Besten Dank für eure Hilfe.

    Gruß, Red


Anmelden zum Antworten