Maison >développement back-end >C++ >Comment puis-je gérer les pressions sur les touches dans les applications console C# ?
Gestion des événements de pression sur les touches dans les applications de console C#
Dans les applications de console C#, la détection des pressions sur les touches nécessite une approche légèrement différente par rapport aux autres applications GUI. applications basées. Pour y parvenir, nous pouvons exploiter l'objet ConsoleKeyInfo.
Solution avec Focus Management
Si votre application console est la fenêtre active et ciblée, vous pouvez utiliser le code suivant :
public class Program { public static void Main() { ConsoleKeyInfo keyInfo; do { keyInfo = Console.ReadKey(); Console.WriteLine($"{keyInfo.Key} was pressed"); } while (keyInfo.Key != ConsoleKey.X); } }
Ce code déclare une variable ConsoleKeyInfo keyInfo et entre dans une boucle. Dans la boucle, Console.ReadKey() lit et affiche la touche enfoncée sur l'écran de la console. La boucle continue jusqu'à ce que la touche « x » soit enfoncée, ce qui fait office de condition de sortie.
Événements de pression de touche à l'échelle du système avec des crochets Windows
Si vous souhaitez Pour rassembler les événements de pression sur les touches à l'échelle du système (c'est-à-dire quelle que soit l'application qui a le focus), vous pouvez utiliser les hooks Windows. Par exemple, vous pouvez utiliser la fonction SetWindowsHookEx pour créer un crochet de clavier. Cependant, cette approche nécessite une programmation de bas niveau plus complexe et dépasse le cadre de cette discussion.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!