【问题标题】:Console.Writeline on a WindowsForm? [duplicate]WindowsForm 上的 Console.Writeline? [复制]
【发布时间】:2013-04-29 04:31:36
【问题描述】:

有没有办法在 WinForm 项目中写入控制台?

我知道我可以将项目类型更改为控制台并且仍然是 WinForm,但是如果我从 CMD 启动我的程序,则 CMD 的执行会停止,直到我的程序退出,如果我从启动我的应用程序就不会发生这种情况控制台作为 Winforms 但我无法写入控制台...

所以问题是:

如何在 WinForms 上写入控制台或如何在我的应用程序从 CMD 启动时不停止 CMD 的执行(以避免在 CMD 上为我的应用程序使用“Start /B”)。

【问题讨论】:

    标签: c# vb.net command-line cmd


    【解决方案1】:

    您可以使用AllocConsole 将进程附加到新控制台。之后Console.WriteLine 应该按预期工作。该函数的 P/Invoke 签名是

    [DllImport("kernel32")]
    static extern bool AllocConsole();
    

    但请注意,如果您从cmd 启动程序,您将获得另一个控制台窗口,并且无法重复使用父控制台。但无论如何,我对你的理解是你的目标。

    【讨论】:

    • 感谢您提供的信息,但我希望在同一个 CMD 实例上执行此操作,您知道这是否可能吗?无论如何我已经测试了该功能并且新的 cmd 实例等待我的程序退出:(
    • @ElektroHacker - AttachConsole 就在 AllocConsole 旁边...但我认为您正在寻找其他东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-24
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    • 2010-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多