VB.NET bzw. C# : Erkennen ob die eigene >>>Konsolanwendung<<< gerade denn Focus hat, also das vom user ausgewählte Fenster(bzw. Anwendung) ist.

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • VB.NET bzw. C# : Erkennen ob die eigene >>>Konsolanwendung<<< gerade denn Focus hat, also das vom user ausgewählte Fenster(bzw. Anwendung) ist.

    Hi,

    ich schreibe ein kleines Spiel und als Herausforderung setze ich das in einer Konsolanwendung um. Da die .NET Key Abfragen zu lahm sind, verwende ich GetAsyncKeyState, welches aber leider die Taste im ganem System abhört, was ich aber brauche ist, das es NUR in der Anwendung abgehört wird. Deswegen dachte ich mir noch eine if Abfrage einzubauen, ist den das Fenster selektiert, bevor ich auf die Eingabe reagiere, aber ich habe keine Ahnung wie man das in einer Konsolanwendung anstellt. Amliebsten via WinAPI.

    Kann mir einer Helfen?
  • Funktioniert super, danke :),


    Tue mich aber imemr noch schwer herauszufinden, was der Handler des aktuellen Konsolfensters ist. Bei Windows Forms anwendung ist es ja simpel. this.Handle aber bei Konsolanwendungen.

    Habe bisher dashier versucht:

    Quellcode

    1. Public Shared ReadOnly Property Handle As IntPtr
    2. Get
    3. Dim p As Process() = Process.GetProcesses()
    4. For Each Prc As Process In p
    5. If Prc.ProcessName.Contains(Title) Then
    6. Return Prc.Handle
    7. End If
    8. Next
    9. Return GetForegroundWindow()
    10. End Get
    11. End Property
    Alles anzeigen


    Aber keine Reaktion.