FindWindow



  • Huhu,
    ich bin in C++ noch ein Anfänger und habe ein kleines Problem
    mit FindWindow().

    #include <windows.h>
    #include <iostream>
    #include <conio.h>
    
    using namespace std;
    
    int main()
    {
        string windowname;
        int key;
    
        while(key != 'e')
        {
            key = getch();
            cout << "Geben sie den Fenstertitel des Programmes ein!" << endl;
            cout << "Eingabe: ";
            cin >> windowname;
            cout << endl << endl << windowname;
            HWND hWnd = FindWindow(NULL,windowname); // <---- cannot convert
    
        }
    return 0;
    }
    

    So wollte ich das machen aber leider spuckt er mir eine Fehlermeldung raus das er es nicht konvertieren kann.
    Der Genauere Error Code: ...||In function 'int main()':|
    ...|...|error: cannot convert 'std::string' to 'const CHAR*' for argument '2' to 'HWND__* FindWindowA(const CHAR*, const CHAR*)'|
    ||=== Build finished: 1 errors, 0 warnings ===|

    Ich hoffe Ihr könnt mir weiterhelfen 🙂



  • HWND hWnd = FindWindow(NULL,windowname.c_str());



  • Quizfrage: Welchen wert hat key beim Eintritt in die while -Schleife?



  • äh äh, ich weiß es! äh 3? Ok Scherz beiseite: undefiniert.
    Die Moral: key initialisieren. Also bei der Erstellung ein Wert zuweisen:

    int key = 0;
    

    EDIT: Es bestünde die Möglichkeit, dass key zu Beginn 'e' ist. Die Schleife würde niemals betreten.



  • schlaue


Anmelden zum Antworten