DLL - Kommunikation mit Betriebssystem



  • Hallo,

    gibt es eine Möglichkeit bei einer DLL die Kommunikation mit dem Betriebssystem ohne ein Fenster zu bewerkstelligen.

    Die DLL sollte in der Lage sein Nachrichten zu empfangen und zu senden um so den Zustand der Aufrufenden Applikation zu kontrollieren.
    Dabei sollte aber kein Fenster offen sein.

    Für Ideen bin ich sehr dankbar.

    Cya
    Blue



  • Wenn Du das einfachste Windows-Programm verstanden hättest, wären alle diese Fragen geklärt.



  • Hallo René,

    danke für deine aussagenkräftige Antwort.
    Wenn ich das verstanden hätte, dann hätte ich nicht eure Zeit mit solchen lapidaren Fragen vergeudet.

    Es wäre schön, wenn du trotzdem ein paar Worte dazu sagen würdest.
    Oder zumindest einen Link zu einem Tutorial, oder einen Tipp wie ich zu einer Lösung kommen kann.



  • da gibts zwei möglichkeiten:

    1. du instllierst einen hook in der dll - näheres siehe msdn ...

    2. oder du installierst aus DLL_PROCESS_ATTACH heraus ein subclassing, das die nachrichten des app-windows, welche die dll lädt, empfängt ...

    zum thema subclassing gibts einen artikel auf -> siehe signature ...

    rocknix ///



  • Ich wusste leider nicht, was ich noch mehr dazu sagen sollte. In Deinem Text bzw. Deiner Frage sind so viele Fehler/Unverständnisse, dass ich dich nur auf ein Grundlagenbuch verweisen kann.

    Denn:
    1. Eine DLL 'kommuniziert' nicht
    2. Mit dem Betriebssystem 'kommuniziert man auch nicht, sondern holt und setzt Informationen.
    3. Aus obigen Punkten folgt, dass die DLL grundsätzlich gar keine Nachrichten empfangen kann, sondern nur Prozesse/Threads/Fenster.
    4. Mit Nachrichten kann man den Zustand der Applikation nicht kontrollieren, wenn sie kein Fenster besitzt. Z.B. Besitzt die Anwendung den Fokus->WM_GETFOCUS->muss an Fensterhandle geschickt werden->Aber an welches?


Anmelden zum Antworten