问题标签 [console.readkey]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1324 浏览

c# - 控制台上的 2 个关键选择

我正在 C# 上的 Visual Studio 上制作游戏(在控制台中)。这是关于对话的,你可以用2个选项来回答它们,一个键(用于回答第一个问题)是1,另一个是2。问题是当你按一个键时,你不能按另一个键更多,我的意思是,如果你按1,你就不能按2,反之亦然。

0 投票
2 回答
7229 浏览

c# - 如何检查控制台应用程序c#中是否按下了CTRL键

我要启动一个控制台应用程序。问题是如何确定 CTRL 键是单独按下而没有任何其他键。

我想监视 CTRL 键的行为。跟踪此代码后,我在 readkey 行上放置了一个检查点,但是当我按下 CTRL 时,什么也没有发生,但是当我按下任何其他键(如“K”)时,它开始从键盘读取键。

0 投票
3 回答
468 浏览

c# - 秒表和 ReadKey 无法正常工作

我正在研究我的多线程密码破解器,只有数字。它必须显示找到密码已经过去了多少时间。我曾经Stopwatch找到它,但在函数Stopwatch中不起作用。这是我的代码:

0 投票
1 回答
178 浏览

perl - Perl Term::ReadKey - 从文件中读取,就像正在输入一样

离开 Perl 一段时间,想修改我很久以前作为艺术项目编写的脚本。原始脚本使用 Term::ReadKey 允许用户在 Mac/Linux 终端中输入任意文本。当他们键入时,文本会在终端中创建各种浮动模式。我想调整脚本,而不是在输入键时读取它们,它可以从另一个进程定期写入的文本文件中读取。但它需要以某种可控的方式(不是一次全部)读取字符,以便(大致)模仿人类打字。

我试过什么: Term::ReadKey 的手册页说它可以从文件句柄而不是 STDIN 读取 - 但由于某种原因,我无法使用标准文件或 FIFO 来实现它。我还尝试使用“打开”从文件中读取文本并将字符放入数组中。但是遍历数组变得很复杂,因为需要在字符之间添加延迟而不暂停脚本的其余部分。(我可以将其设想为一个潜在的解决方案,但我不确定如何最好地设计它以允许时间延迟是可控的,而脚本不会变得笨拙。)

想知道是否有一种相对简单的方法来解决这个问题——假设它完全可行?

这是现有脚本的“肉”(删除了各种子程序,这些子程序会根据各种按键添加额外的效果。)

0 投票
2 回答
39 浏览

vb.net - 防止在 Console.ReadKey() 之前在控制台中排队/预加载字符

Console.ReadKey(true).NET 中调用时,它会将用户的单个按键读取到控制台中。我注意到一个字符可以在实际调用之前 Console.ReadKey()输入,允许用户在提示之前预加载一个字符。我正在寻找一种方法来防止这种情况发生。

这里有一些示例代码可以更好地解释:

如果用户在 之前按下一个键Console.ReadKey(),示例程序将返回:

您花费了 0 毫秒或 0 秒。

有没有已知的方法来防止这种行为?此问题出现在提示用户输入特定键的其他类型的控制台程序中。如果按键被提前按下,有时用户甚至不会看到提示。

0 投票
1 回答
140 浏览

c# - 我怎样才能让我的控制台应用程序在 esc 时关闭。在整个应用程序中按下键?

//这是我的代码片段,菜单方法在其中调用了另外 2 个方法,我已经尝试了所有方法,但不知道要使用什么代码或将它放在哪里。感谢你们!!

命名空间 ConsoleApplication7 { 类程序 {

0 投票
1 回答
501 浏览

console.readline - 通过 scriptcs 从 powershell 读取用户输入

在这里,我在通过 scriptcs 从命令提示符或 windows powershell 读取用户输入时遇到问题。我尝试使用 Console.ReadLine()、Console.Read() 或 Console.ReadKey() 将其包裹在 Convert.ToString() 以获取用户响应但他们都没有给出结果。我需要任何特殊的包来处理用户输入吗?任何帮助表示赞赏。

0 投票
2 回答
1522 浏览

c# - C# 控制台应用程序:如何防止用户在使用 ReadKey() 循环时按住键?

我正在用 C# 编写一个控制台应用程序,它使用Console.ReadKey(). 它的代码与此类似:

现在的问题是,如果用户按住任何键超过半秒,Windows 会将其注册为多次按键。因此,例如,如果按住 Enter 键一秒钟,后面的代码会case ConsoleKey.Enter:运行大约十次,而我不希望这样。

如何使按住按钮仅注册为一次按键?我必须为此使用 Windows 窗体吗?(目前我的代码只依赖于 Console 类)。

0 投票
2 回答
3253 浏览

c# - 重定向输入时可以绕过 Console.ReadKey() 问题吗?

我是一名 C# 老师,我为我的学生编写了一些自动化的硬件检查器。学生编写 C# 控制台应用程序。我的硬件检查器基于输入重定向,因此我可以在自己生成的输入上测试他们的代码。

问题是学生有时会以Console.ReadKey()指令结束他们的程序(他们这样做只是为了在 F5 - Debug 下运行程序时使执行窗口不关闭)。在Console.ReadKey()输入重定向下运行时崩溃,但以下异常:

System.InvalidOperationException:当任一应用程序没有控制台或控制台输入已从文件重定向时,无法读取密钥。

我有什么办法“绕过”这个问题(不改变学生代码)?也许告诉Console忽略ReadKey指示?

0 投票
3 回答
3765 浏览

c# - C# Console.ReadLine 后 ReadKey 等待输入两次

我不明白我在这里缺少什么,但它似乎Console.ReadKey()仍然处于活动状态并且导致控制台让我Console.ReadLine()在调用后使用时输入两次Console.ReadKey()

一旦做出选择,我已经上下搜索了如何逃脱ReadKey(),但无济于事。

为了澄清,这是出乎意料的行为:当控制台弹出时,作为示例向用户呈现这三个选项。当用户随后键入“u”或“h”时,控制台不会等待;它会立即执行操作,而无需用户按下Enter

我做错了什么吗?