私は本質的にConsole.ReadLine() - Loopであるコンソールアプリケーションを作成しました。アプリケーションが入力を待っているときに、上矢印キーを押すと、前のすべての入力行が繰り返されます。私のアプリケーションにはこの機能のコードは含まれていません。 Windowsのどの部分がこれを提供していますか?どうすれば無効にできますか?コンソールアプリケーションにコマンド履歴があるのはなぜですか?
コンソールサブシステムの機能であるか、Console.ReadLine()で実装されているかだけをイメージできます。ここで
を説明挙動を示すいくつかのサンプルコードです:
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string input;
do
{
input = System.Console.ReadLine();
} while (input != "exit");
}
}
}
私は今の履歴機能を無効にしたい、と私自身のコードを使用して、後でそれを再実装します。現在の行動はあまりにも限定されている。
私が見つけた唯一の事はこれです - http://www.clearallhistory.com/clear-run-history.html。理想的な解決策ではありませんが、おそらく入力を求める前に履歴を消去することができます。副作用は、マシン上で開くコマンドプロンプトの履歴を消去することです。 – arunkumar
私もこのことに驚きましたが、私はこれに完全に喜んでいました。 "すごい"と思った。しかし、今私は完了するためにタブを傍受したいと思います。私は手でキーを一つずつ取得する必要がある場合、私はその機能を失うかもしれないようです。クールな機能だが拡張可能ではないようだ。また、Ctrl + Rヒストリルックアップを実装していないのはなぜですか? MS .... –
実際、コンソールがF8(bash Ctrl + r)とF9(bash!n)をサポートしていることが事実です。これは突然の名声のすべての絶対awesomenessです。 http://ss64.com/nt/syntax-keyboard.html –