我尝试了以下代码......
string pass = "";
Console.Write("Enter your password: ");
ConsoleKeyInfo key;
do
{
key = Console.ReadKey(true);
// Backspace Should Not Work
if (key.Key != ConsoleKey.Backspace)
{
pass += key.KeyChar;
Console.Write("*");
}
else
{
Console.Write("\b");
}
}
// Stops Receving Keys Once Enter is Pressed
while (key.Key != ConsoleKey.Enter);
Console.WriteLine();
Console.WriteLine("The Password You entered is : " + pass);
Run Code Online (Sandbox Code Playgroud)
但是这样输入密码时退格功能不起作用.有什么建议吗?
我搜索了有关如何隐藏自己的控制台窗口的信息.令人惊讶的是,我能找到的唯一解决方案是通过其标题FindWindow()找到控制台窗口的 hacky解决方案.我深入挖掘了Windows API,发现有更好更简单的方法,所以我想在这里发布,供其他人查找.
如何隐藏(和显示)与我自己的C#控制台应用程序关联的控制台窗口?
我正在按照MSDN中的指南学习C#.
现在,我刚刚尝试了示例1(这里是MSDN的链接),我遇到了一个问题:为什么控制台窗口会在显示输出后立即关闭?
using System;
public class Hello1
{
public static int Main()
{
Console.WriteLine("Hello, World!");
return 0;
}
}
Run Code Online (Sandbox Code Playgroud) 我有控制台应用程序,并希望将其作为Windows服务运行.VS2010具有项目模板,允许附加控制台项目和构建Windows服务.我想不添加单独的服务项目,如果可能的话,将服务代码集成到控制台应用程序中,以将控制台应用程序保存为一个项目,该项目可以作为控制台应用程序运行,也可以作为Windows服
也许有人可以建议类库或代码片段,它可以快速,轻松地将c#控制台应用程序转换为服务?
有没有办法在执行控制台应用程序时隐藏控制台窗口?
我目前正在使用Windows窗体应用程序来启动控制台进程,但我不希望在任务运行时显示控制台窗口.
我想知道在控制台应用程序中是否有可能?使用.NET 编写字符.当我尝试编写此字符时,控制台会输出一个问号.
我在Visual Studio中有一个测试项目.我使用Microsoft.VisualStudio.TestTools.UnitTesting.
我在我的一个单元测试中添加了这一行:
Console.WriteLine("Some foo was very angry with boo");
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)
当我运行测试时,测试通过,但控制台窗口根本没有打开.
有没有办法让控制台窗口可以通过单元测试进行交互?
要立即陷入困境,这是一个非常基本的例子:
using System;
using System.Windows.Forms;
class test
{
static void Main()
{
Console.WriteLine("test");
MessageBox.Show("test");
}
}
Run Code Online (Sandbox Code Playgroud)
如果我使用默认选项(在命令行使用csc)编译它,正如预期的那样,它将编译到控制台应用程序.另外,因为我导入了System.Windows.Forms,它还会显示一个消息框.
现在,如果我使用该选项/target:winexe,我认为Windows Application与在项目选项中选择相同,正如预期的那样,我只会看到消息框而没有控制台输出.
(事实上,从命令行启动它的那一刻,我可以在应用程序完成之前发出下一个命令).
所以,我的问题是 - 我知道你可以从控制台应用程序获得"windows"/表单输出,但是无论如何从Windows应用程序显示控制台?
一种选择是做几次System.IO.Directory.GetParent().是否有更优雅的方式从执行程序集所在的位置移动几个文件夹?
我想要做的是找到一个文本文件,它位于应用程序文件夹上方的一个文件夹中.但是程序集本身位于bin中,这是应用程序文件夹中的几个文件夹.
问题是,我真的不希望控制台窗口出现......但解决方案应该正在运行.我的观点是,我想让应用程序在后台运行,没有任何窗口出现.
c# ×9
.net ×5
.net-4.0 ×1
compilation ×1
console ×1
masking ×1
msdn ×1
passwords ×1
unit-testing ×1
user-input ×1
vb.net ×1
winforms ×1