WinApi: Mehrere Instanzen eines Programmes erkennen.

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
Benutzeravatar
SunCross
Beiträge: 99
Registriert: 24.03.2010, 18:43
Wohnort: Essen
Kontaktdaten:

WinApi: Mehrere Instanzen eines Programmes erkennen.

Beitrag von SunCross »

Hallo :),

ich hab in meinem Programm zwei Handles von fremden Fenstern ergattert, indem ich vorher ihre Koordinaten herausbekommen hab und sie einer WinApi-Funktion übergeben habe, deren Name ich leider nicht mehr weiß (Und auch gerade bei Google nicht finde und mein Code gerade nicht auf dem Laptop ist, Tschuldigung :)). Auf jeden Fall gibt diese Funktion anhand der Fensterposition das entsprechende Fensterhandle zurück.

Per Message-Schleife schicke ich nun die einkommenden Tastatursignale an die beiden Fensterhandle, damit beide Fenster mit der Tastatur arbeiten, ohne aktiv im Vordergrund zu sein.

Hat bis jetzt auch wunderbar geklappt, nun will ich aber noch weiter gehen...

Ich finds nicht gerade benutzerfreundlich, immer die Koordinaten eingeben zu müssen, also wollt ich den Fenster-Such-Vorgang automatisieren.

Mein Anfang war die Funktion "FindWindow", mit der man anhand des Fenstertitels und/oder des Klassennamens das Fenster findet und das Handle zurückbekommt. Aber die Funktion findet immer nur die erste Instanz des Fensters.

Nun meine kurz gefasste Problemstellung:

Ich brauche eine Methode, mit der ich mehrere Instanzen eines Fensters, bzw. Programmes finde.

Kennt hier einer vielleicht sowas in der Richtung?
Einziges Teammitglied von http://www.toxic-coding.de
Entwickler von http://www.missile-control.de
Benutzeravatar
BeRsErKeR
Establishment
Beiträge: 689
Registriert: 27.04.2002, 22:01

Re: WinApi: Mehrere Instanzen eines Programmes erkennen.

Beitrag von BeRsErKeR »

Schau dir mal die Funktion EnumWindows an.
Ohne Input kein Output.
Benutzeravatar
SunCross
Beiträge: 99
Registriert: 24.03.2010, 18:43
Wohnort: Essen
Kontaktdaten:

Re: WinApi: Mehrere Instanzen eines Programmes erkennen.

Beitrag von SunCross »

Cool, Danke. Ich werds mal ausprobieren.

PS.: Die Funktion, die ich oben meinte, heißt "HWND WindowFromPoint (POINT Point)".
Einziges Teammitglied von http://www.toxic-coding.de
Entwickler von http://www.missile-control.de
Benutzeravatar
SunCross
Beiträge: 99
Registriert: 24.03.2010, 18:43
Wohnort: Essen
Kontaktdaten:

Re: WinApi: Mehrere Instanzen eines Programmes erkennen.

Beitrag von SunCross »

Die Funktion hat echt geholfen, damit kann man ne Menge machen.
Einziges Teammitglied von http://www.toxic-coding.de
Entwickler von http://www.missile-control.de
Benutzeravatar
SunCross
Beiträge: 99
Registriert: 24.03.2010, 18:43
Wohnort: Essen
Kontaktdaten:

Re: WinApi: Mehrere Instanzen eines Programmes erkennen.

Beitrag von SunCross »

Ich hätt da noch ne Frage:

GUI-Programmierung geht mit WinApi, hab ich auch geschafft, aber ich wollts jetzt noch mal mit ordentlich aussehender GUI in C# mit WindowsForms machen.
Aber ich glaube, wer hätte das gedacht, in WindowsForms geht die Fensterverwaltung anders als mit der WinApi. Das Programm, an das ich die Signale senden will, hat in meinem Programm, das mit WinApi lief, die Signale mit "SendMessage" bekommen. Gibts sowas auch in WindowsForms? Und wenn ja, kommen Signale von einem C#-Programm überhaupt bei einem C++-Programm an?

PS.: Hab von C# nur ein bisschen Ahnung, und das weil ich C++ kenne. Mit WindowsForms hab ich vor 10 Min. angefangen :)
Einziges Teammitglied von http://www.toxic-coding.de
Entwickler von http://www.missile-control.de
Antworten