ProfilProfil
 Registrieren
 Login
Bild der WocheBild der Woche

(von Backslider)
Kommentare (0)
****

Weitere
User onlineBenutzer online
Gäste online: 3
Mitglieder online: DarkPrisma
Registrierte Mitglieder: 2116
Neustes Mitglied: onkel_keks

C# Konsole - KeyDown Event?

Neue Antwort erstellen
 

 

Autor Nachricht
 
 
FirstChoice
Member


Anmeldedatum: 01.06.2012
Beiträge: 200

Antworten mit Zitat
BeitragVerfasst am: 09.07.2012, 01:26    Titel: C# Konsole - KeyDown Event?

Guten Morgen,
Ich wollte mal fragen, ob es in der C#-Konsole so etwas wie ein KeyDown-Event gibt. Ich kenne die Methode Console.ReadKey(), allerdings wird da der Buchstabe auf den Bildschirm geschrieben. Ich möchte wirklich nur den Tastendruck abfragen, wie bei XNA per
Code:

Keyboard.GetState().IsKeyDown(Keys.W);

Wink Kennt jemand ne Lösung? Muss es doch geben^^
mfg
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden


cheater
Member


Anmeldedatum: 05.06.2011
Beiträge: 612
Wohnort: Nähe Graz

Antworten mit Zitat
BeitragVerfasst am: 09.07.2012, 08:26    Titel:

Wenn du bei ReadKey als ersten Parameter (intercept) true übergibst, wird der Buchstabe nicht in die Konsole geschrieben.

mfg cheater
_________________
Ich übernehme keinerlei Haftung für falsche, unnütze oder störende Beiträge...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden


FirstChoice
Member


Anmeldedatum: 01.06.2012
Beiträge: 200

Antworten mit Zitat
BeitragVerfasst am: 09.07.2012, 11:45    Titel:

okay danke Smile gibt es dann eine möglichkeit, nicht auf den tastendruck zu warten, sondern einfach abzufragen ob die taste unten ist??
mfg
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden


Kevin
Member


Anmeldedatum: 24.10.2008
Beiträge: 882
Wohnort: Karlsruhe

Antworten mit Zitat
BeitragVerfasst am: 09.07.2012, 13:54    Titel:

Hi,
ich bin mir nicht sicher, ob das funktioniert, da ich es noch nie in einer Konsolenanwendung ausprobiert habe:

Es gibt die GetAsyncKeyState Funktion der WinAPI, diese ist normalerweise nur in C und C++ erreichbar, doch über pinvoke lässt sich dies auch in managed C# Code ausrufen.

Du kannst ja mal ausprobieren, ob du damit erreichst, was du haben willst...

Falls du noch weitere Keyboard oder Mausinformationen haben willst kannst du dir auch mal meinen Artikel hier anschauen, der basiert zwar komplett auf C++, aber die ganzen Funktionen lassen sich mit pinvoke ja auch in C# aufrufen.
_________________
Mein Youtube Kanal
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden


FirstChoice
Member


Anmeldedatum: 01.06.2012
Beiträge: 200

Antworten mit Zitat
BeitragVerfasst am: 09.07.2012, 19:01    Titel:

hmm... so ganz verstanden habe ich das mit pinvoke noch nicht... da werden anscheinend DLLs importiert. aber woher weiß ich, welche DLL ich speziell benötige?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden


taotsetung
Member


Anmeldedatum: 08.11.2011
Beiträge: 54

Antworten mit Zitat
BeitragVerfasst am: 09.07.2012, 20:29    Titel:

Ja, P/Invoke ruft native (also nicht - .NET ) Bibilotheken auf.
Um die richtige DllImport Signatur herauszufinden am besten auf http://pinvoke.net/ suchen
oder Mr. Google mit "C# <Funktionsname> pinvoke" füttern.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden


FirstChoice
Member


Anmeldedatum: 01.06.2012
Beiträge: 200

Antworten mit Zitat
BeitragVerfasst am: 09.07.2012, 21:29    Titel:

achso, alles klar. ich guck mal was sich machen lässt^^
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden


Xedon
Member


Anmeldedatum: 28.07.2012
Beiträge: 71

Antworten mit Zitat
BeitragVerfasst am: 28.07.2012, 23:58    Titel:

Könnte man nicht einen separaten Thread starten der Console.ReadKey() beinhaltet und dann ein Event auslöst ?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden


Beiträge der letzten Zeit anzeigen:   
 
Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de