清除控制台命令历史记录C#

清除控制台命令历史记录C#,c#,windows,security,console,command,C#,Windows,Security,Console,Command,我正在写一些有密码保护的软件。当用户启动程序时,他们会输入一个密码(在输入密码时,密码会被涂黑)。然后程序将更改为命令行界面 问题是,您可以滚动查看命令历史记录,包括以明文形式输入的密码。如何以编程方式清除控制台历史记录 我尝试了在中找到的解决方案 在尝试了斯维什的答案后,它根本不起作用。我使用了Process.Start(“doskey”,“重新安装”),它所做的只是打开一个命令提示符窗口 答案也不起作用;我得到了一个accessinvalition,没有关于如何使用它的好解释。尝试使用Fre

我正在写一些有密码保护的软件。当用户启动程序时,他们会输入一个密码(在输入密码时,密码会被涂黑)。然后程序将更改为命令行界面

问题是,您可以滚动查看命令历史记录,包括以明文形式输入的密码。如何以编程方式清除控制台历史记录

我尝试了在中找到的解决方案

在尝试了斯维什的答案后,它根本不起作用。我使用了
Process.Start(“doskey”,“重新安装”)
,它所做的只是打开一个命令提示符窗口


答案也不起作用;我得到了一个
accessinvalition
,没有关于如何使用它的好解释。尝试使用
FreeConsole
也不起作用,因为在释放和重新分配后,我无法再使用
Console.WriteLine
。我得到一个
IOException:该方法不受支持。

将Alt+F7键发送到控制台将根据文档清除它。您可以使用visual studio中内置的测试自动化软件自动发送这些击键:

using Microsoft.VisualStudio.TestTools.UITesting;

    Keyboard.SendKeys("%{F7}")

将Alt+F7键发送到控制台将根据文档清除它。您可以使用visual studio中内置的测试自动化软件自动发送这些击键:

using Microsoft.VisualStudio.TestTools.UITesting;

    Keyboard.SendKeys("%{F7}")

我最终改变了身份验证方法。它现在检索BIOS/主板的唯一序列号。序列号现在位于安全服务器上,由程序检索。如果找到序列号,则执行将继续。否则,执行将停止


如果公司里的人需要访问该程序,他们将运行该程序,拒绝访问(在“拒绝访问”语句中使用序列号),给管理员序列号,然后他们将其放入系统。

我最终改变了身份验证方法。它现在检索BIOS/主板的唯一序列号。序列号现在位于安全服务器上,由程序检索。如果找到序列号,则执行将继续。否则,执行将停止



如果公司的人需要访问该程序,他们会运行该程序,拒绝访问(在“拒绝访问”语句中使用序列号),将序列号提供给管理员,然后他们会将其放入系统中。

遗憾的是,这样做效果不太好。找不到任何关于如何准确使用它的好解释。哪个答案不适用?你都试过了吗?特别是斯维什的回答?如果它们真的不起作用,你能编辑你的帖子来解释为什么这些答案对你不起作用吗?如果它真的不是重复的,可以重新打开。编辑以证明它不是重复的。我已经整理好问题并重新打开了它。我假设您尝试过使用Console.Clear()?遗憾的是,这不太管用。找不到任何关于如何准确使用它的好解释。哪个答案不适用?你都试过了吗?特别是斯维什的回答?如果它们真的不起作用,你能编辑你的帖子来解释为什么这些答案对你不起作用吗?如果它真的不是重复的,可以重新打开。编辑以证明它不是重复的。我已经整理好问题并重新打开了它。我假设您尝试过使用Console.Clear()?从哪里获得Microsoft.VisualStudio.TestTools.UITesting导入?我在引用列表中没有看到它--而且,由于这是一个测试导入,最终生产是否安全?找到了导入。导入似乎不起作用--即使在引用它之后,
键盘。SendKeys
不会作为方法显示。它在当前上下文中不存在。@如果您拥有方法SendKeys()函数之前的整个类序列,对吗(例如TestTools.ui测试这两个工作)?实际上,我只能找到扩展导入,例如,
Microsoft.VisualStudio.TestTools.UITesting.Extension
从何处获取导入的
Microsoft.VisualStudio.TestTools.UITesting
?我在引用列表中没有看到它--而且,由于这是一个测试导入,最终生产是否安全?找到了导入。导入似乎不起作用--即使在引用它之后,
键盘。SendKeys
不会作为方法显示。它在当前上下文中不存在。@您拥有方法SendKeys()函数之前的整个类序列,对吗(例如TestTools.UITesting这两个函数)?实际上,我只能找到扩展导入,例如Microsoft.VisualStudio.TestTools.UITesting.extension