【问题标题】:How do I create a custom C# Console application hotkey如何创建自定义 C# 控制台应用程序热键
【发布时间】:2013-10-28 11:04:42
【问题描述】:

我一直在开发一个作为控制台应用程序运行的系统。但我不知道如何为其创建自定义热键。

CTRL - CConsole.CancelKeyPress...

我想添加一个自定义热键,例如...

CTRL - S 并让它运行我在代码中拥有的功能。

如果有人有任何有用的提示或基本布局,请随时回复。

【问题讨论】:

  • 也许你可以在等待另一个答案的同时阅读这篇文章:D stackoverflow.com/questions/3654787/…
  • 控制台应用程序不适合这个,除了 Console.ReadKey() 之外没有任何机制。 Krekkon 链接中显示的全局热键不等同于应用程序热键。在 C# 中创建 GUI 应用程序并不是很困难,这是前进的最佳方式。
  • Hans Passant :我不能让应用程序成为基于 GUI 的应用程序,因为它会从计算机中占用太多内存,应用程序在完全旋转时已经达到 2gb 内存。这是一个已经设置好的服务器系统。我需要一个自定义热键,例如我提到的 CTRL - S 来保存服务器上收集的所有信息,这样它就不会在崩溃时丢失。

标签: c# windows console keyboard hotkeys


【解决方案1】:

您好,也许这可以解决您的问题。就我而言,我在我的应用程序中使用这种实现作为热键。类 ConsoleKeyInfo 是你所需要的

    ConsoleKeyInfo cki;
    do
    {
        cki = Console.ReadKey();
        if ((cki.Modifiers & ConsoleModifiers.Control) != 0 && cki.Key == ConsoleKey.Z)
        {
            Undo();
        }
        if ((cki.Modifiers & ConsoleModifiers.Control) != 0 && cki.Key == ConsoleKey.Y)
        {
            Redo();
        }
    } while (cki.Key != ConsoleKey.Escape);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 2017-07-28
    • 2023-04-05
    相关资源
    最近更新 更多