提问:命令行调用c# winform窗口,winform输出到命令行

jimmyhoum 2009-10-10 08:40:33
新建一个Winform窗口,窗口支持显示窗口,和隐藏时接受命令行的模式[通过static voi main(string []args]
现在想实现,通过cmd调用这个winform,在这个winform里通过标准输出,输出信息到命令行,但是通过Console.WriteLine()无法成功输出到cmd,请问该如何实现?
谢谢
...全文
445 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
YuAHCZ 2009-10-10
  • 打赏
  • 举报
回复
没尝试过。
wuyq11 2009-10-10
  • 打赏
  • 举报
回复
[DllImport("kernel32.dll")]
public static extern bool AllocConsole();
[DllImport("kernel32.dll")]
public static extern bool FreeConsole();
static void Main(string[] args)
{
try
{

if(args.Length > 0 && args[0].ToLower() == "-c")
{
NativeMethods.AllocConsole();
Console.WriteLine("控制台以启动");
}

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
finally
{
NativeMethods.FreeConsole();
}
}
参考
Dobzhansky 2009-10-10
  • 打赏
  • 举报
回复
最简单快速的方式就是将你的 winform 工程改为控制台工程

WinExe -> Exe

这时, shell 将自动为你的程序分配控制台.

默认, winform 程序是没有控制台的, 如果要为 winform 程序分配, 需要调用 win API 手工来搞.
AttachConsole(),...


还有一种方式是自己编写一个 '伪' 控制台控件.

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧