Konsole



  • Hallo folgende Situation wenn der Benutzer 1 drückt dann soll die Konsole nicht mehr aktiv sein.

    Was mein ich damit ? Wenn z.b. die Konsole nicht mehr aktiv ist und der Benutzer eine Taste drückt dann soll das Programm halt nicht mehr auf den getch(); Befehl reagieren.

    Ich will das Programm nicht mehr im Vordergrund haben aber es soll auch nicht Minimiert werden oder so.

    #include <iostream>
    #include <windows>
    using namespace std;
    
    int main(int argc, char* argv[])
    {
    int ein;
    char buchstabe;
    
    cout<<"eingabe: ";
    cin>>ein;
    
            if (ein==1)
            {
    
            // Konsole nicht mehr aktiv
    
            buchstabe = getch();
    
            cout<< buchstabe;
    
            }
    
    return 0;
    }
    

  • Administrator

    1. Sehr schlechter Titel.
    2. Du willst einfach den Fokus abgeben?
    3. <windows> ist sehr wahrscheinlich falsch, der heisst <windows.h>
    4. Mit Standard C++ nicht möglich, da C++ nichts über den Fokus kennt.
    5. Da du den Windows Header inkludierst, nehme ich an, dass du auf Windows arbeitest.
    6. Damit wäre die Lösung in der WinAPI zu suchen, falsches Forum.
    7. Welches Fenster soll denn den Fokus bekommen? Hier mal ein Beispiel:

    #include <windows.h>
    
    #include <iostream>
    
    int main()
    {
      HWND desktopWindow = GetDesktopWindow();
    
      SetForegroundWindow(desktopWindow);
      // Der Desktop hat nun den Fokus.
    
      std::cin.get();
    
      return 0;
    }
    

    http://msdn.microsoft.com/en-us/library/ms633539.aspx

    Grüssli


Anmelden zum Antworten