Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

GetKey() für C# Konsole-Anwendungen

Empfohlene Antworten

Veröffentlicht

Hi,

während ich meine erste C# Konsole-Anwendung programmiert habe, vermisste ich Funktionen die den Tastencode liefern, ohne auf den Tastendruck zu warten. Als C++ Programmierer suchte ich Funktionen wie _kbhit() oder _getch(). Aber ich fand nur C#-Funktionen wie Console.Read() oder Console.ReadLine(). Beides Funktionen, die solange warten, bis eine Taste gedrückt wurde. Aber ich wollte nicht warten. Deshalb suchte ich bei CODE PROJECT nach den Schlüsselwörtern (kbhit, getch, GetKey), um eine schnelle Lösung zu finden. Aber ich fand leider nichts brauchbares! Deshalb musste ich mich selbst drum kümmern, und hier ist meine Lösung.

manib.ma.funpic.de

Einfach Sprache auswählen, "Programmierung" anklicken und dem Link "ConsoleLibrary" folgen.

Viel Spass...

Dein Programm ist keine reine .NET-Bibliothek, sondern verwendet native code. Es ist damit in _reinen_ .NET Projekten nicht problemlos einsetzbar, da alle Assemblies mit native code oder PInvoke Aufrufen immer als unsicher eingestuft werden (sie können nicht auf Vertrauenswürdigkeit verifiziert werden), es sei den der Benutzer vertraut ihnen explizit. Auch eine Verwendung z.B. in Verbindung mit Mono ist dadurch nicht grundsätzlich möglich.

Aber auch schon ein einfacher Start des Programms über eine Netzwerkfreigabe scheitert an den Default-Einstellungen der .NET-Umgebung und wirft eine Exception.

Die Vorgehensweise ist daher nur für Programme geeignet, bei denen von Anfang an geplant ist einzelne Teile mit native Code umzusetzen.

Hi Bubble,

ich muss dir Recht geben.

Aber gibt es in C# für sowas:


do
{
// get the key...
key = Keyboard.GetKey();
// check the key...
if (key != (int)KeyCode.KeyNone)
{
if (key == (int)KeyCode.KeyF1)
Console.WriteLine("You've pressed F1.");
}

// do something else
...
} while (key!=(int)KeyCode.KeyEscape);
[/PHP]

eine andere Lösung wie so ein Library?

Die ReadKey Methode der System.Console Klasse. Ab Version 2.0 im Framework enthalten.

Gut zu wissen!

Allerdings verwenden wir die Framework Version 1.1

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.