因此,讓我們使用此代碼:取消Console.ReadKey()使用的代碼,而不是在程序
Console.ReadKey(true);
//Cancel the ReadKey prompt
Console.WriteLine("ReadKey was cancelled.");
在運行程序時,應該發生的唯一的事情是,輸出ReadKey was cancelled.
應該會出現。我怎樣才能做到這一點?它甚至有可能嗎?
在此先感謝。
因此,讓我們使用此代碼:取消Console.ReadKey()使用的代碼,而不是在程序
Console.ReadKey(true);
//Cancel the ReadKey prompt
Console.WriteLine("ReadKey was cancelled.");
在運行程序時,應該發生的唯一的事情是,輸出ReadKey was cancelled.
應該會出現。我怎樣才能做到這一點?它甚至有可能嗎?
在此先感謝。
除非您中止線程,否則無法取消ReadKey。 (強制關閉程序)
我在調用ReadKey之前檢查一個密鑰是否可用,使用Console.KeyAvailable
屬性。
但是問題甚至沒有調用它或不叫它..它是要取消它,如果它正在運行 – Adam
我能看到你的唯一方法就是使用System.Windows.Forms.SendKeys.Send(),但是這對於控制檯應用程序來說「不可用」,因爲它們不管理Windows消息,如果你嘗試它,你會看到異常。可能有一種方法可以使用Windows API自行實現。
'ReadKey'是一個同步阻塞調用。在某人按下某個鍵之前,執行不會繼續(寫入行)。 'true'表示按下的任何按鍵都不應該被打印到控制檯的stdout。然後你的寫行會被調用,程序會立即退出。 (假設這實際上是'Main'的主體)。 – vcsjones
@vcsjones這不是我問的。 – Adam
你對我的要求並不清楚,所以我發表評論,而不是回答。 – vcsjones