FindWindow()

zapp91

Grünschnabel
Hi,
ich hätte mal wieder eine Frage. Ich wollte fragen wie sich das realisieren lässt:

Code:
FindWindow(NULL, "TESTFENSTER); //sucht das fenster

if (FindWindow hat das Fenster gefunden)
MACH DAS
else //FindWindow hat das Fenster nich gefunden
MACH ETWAS ANDERES

Ich hoffe Ihr versteht was ich meine

Danke

zapp91
 
Hi zapp91 !

Ich denke mal das dieser Code dein Wunsch erfüllt :

Code:
#include <windows.h>
#include <iostream>
using namespace std;

int main()
{ 
HWND hwnd; 

while(1)
{
hwnd = FindWindow(NULL, "Testfenster");

if(FindWindow("Testfenster", NULL))
{
                       cout<<"Testfenster wurde gefunden!\n";
                       return 0;
                       }
                       
                       else
                       {
                           cout<<"Testfenster wurde nicht gefunden!\n";
                           return 0;
                           }


}
}

getestet habe ich es noch nicht, doch ich denke es müsste funktonieren.


Gruß Onur !
 
Hallo,

Wozu soll denn die while Schleife gut sein?
Ich denke es reicht auch so:
Code:
#include <windows.h>
#include <iostream>
using namespace std;

int main()
{ 
   HWND hwnd; 
   hwnd = FindWindow(NULL, "Testfenster");        // suche Fenster
   if(hwnd)                         // wenn Fenster gefunden, dann hwnd != NULL
   {
      cout<<"Testfenster wurde gefunden!\n";
   }
   else
   {
      cout<<"Testfenster wurde nicht gefunden!\n";
   }
   return 0;
}

MfG Turri
 
Hallo,

Ja aber was willst du wiederholen?
Wenn das Programm das Fenster gefunden hat, ist das Ziel doch erreicht.
Oder seh ich da was falsch?

MfG Turri
 
ich habs jetzt so gelöst


Code:
hWindow = FindWindow(NULL, "TestFenster");
if (IsWindow(hWindow) != FALSE)

danke

zapp91
 
Ich bekomme bei ein Compilerfehler:
Code:
Konvertierung des Parameters 1 von 'const char [12]' in 'LPCWSTR' nicht möglich

Wenn ich jetzt in LPCWSTR konvertieren läuft es, aber egal was, wie rum bei mir kommt immer dass das Fenster nicht gefunden wurde, auch wenn es läuft.
 
Tja mann muss wissen was man macht und nicht einfach rumcasten. Rumcasten ist oft ein Fehler im Programm.

C++:
#include <iostream>
#include <windows.h>

int main()
{ 
    const ::HWND hWnd(::FindWindow(NULL, TEXT("TestFenster")));
    if (hWnd != NULL && ::IsWindow(hWnd) == TRUE)
        std::clog << "INFO: Das Fenster \"TestFenster\" konnte gefunden werden!" << std::endl;
}
...
 
Also in C# geht es auch wunderbar :p
Aber wenn ich jetzt die Kommandos die man an das Programm senden kann nicht kenne, kann man die irgendwie herausfinden?
Also kann man wenn ich im Programm was mache abfangen welche Message jetzt gesendet wurde?
 
Zurück