Prozesse erkennen



  • Hallo,

    bevor es zum eigentlichen Thema geht möchte ich noch kurz ein paar Vorbemerkungen geben. Ich bin erst seit kurzem im Bereich der C Programmieren aktiv und daher nicht wirklich bewandert. Im Rahmen meines Studiums habe ich zwar nebenbei einen Kurs gemacht, der mir Grundlagen vermittelte aber das Verstehen eines Programms kam erst sehr viel später. Nun habe ich mein erstes WinAPI Programm geschrieben, was sogar eine grafische Benutzeroberfläche hat 😉 Auf jeden Fall hat mir das stöbern hier im Forum bisher sehr geholfen und meinen Horizont stark erweitert. Aber nun komme ich nicht mehr vorran.

    Also zum eigentlichen Thema:
    Ich habe ein Tool geschrieben, was eigentlich eine sehr einfache Aufgabe erfüllt. Es startet einige andere Programme, die ich im Rahmen eines Studien-Projekts entwickelt habe. Sprich klickt man auf einen Button, wird das Programm gestartet. Mehr nicht. Folgendes hätte ich gern noch drin:

    1. Ich würde gern eine Textzeile in das Fenster einbinden, die anzeigt, ob die gewünschten Programme bereits laufen. Name des Prozesses ist natürlich bekannt, also müsste das Code-Fragment eigentlich nur folgendes machen: "Schaue ob die Datei xxx.exe läuft, wenn ja gib irgendetwas verwertbares zurück". Die ähnlich gelagerten Probleme die ich bei google gefunden habe, waren entweder zu umfangreich oder hab ich nicht zum laufen bekommen. 😞

    2. Ich weiß nicht genau wie ich den Text in das Fenster implemtiert bekomme. Eigentlich sollte irgendwo nur stehen: "xxx running" oder halt stopped.

    Die Prozesse werden derzeit mit ShellExecute ausgeführt. Als Entwicklungsumgebung dient Dev-C++. Ich hoffe ich bin hier überhaupt richtig. Falls jemand Lust hat und mir etwas weiterreichende Hilfestellung bieten möchte, gern per PM. Vielen Dank schonmal!

    Ich wünsche allen tolle Ostertage.





  • Hallo,

    den Beitrag hatte ich mir schon durchgelesen. Das lief auch soweit, aber was müsst ich im Feld mit den Kommentaren sinnvollerweise einfügen?



  • Hallo,

    Man könnte den Text auf dem Fenster folgendermaßen ausgeben:

    HDC hDC;
    hDC = GetDC(hWindow);
    char* str = "Dies ist ein Text.";
    TextOut(hDC,xPos,yPos,str,strlen(str));
    ReleaseDC(hWindow,hDC);
    

    hWindow ist das Handle von dem Fenster, die weiteren Parameter sind
    die Koordinaten und schließlich der String und die Länge des Strings.

    Alternativ könnte man eventuell eine Meldung mithilfe der Funktion MessageBox() anzeigen.

    MfG, Jochen


Anmelden zum Antworten