如何从c#程序写回命令行

詹姆斯·亨尼根

接受 CLI 参数的 Winform 应用程序在运行时打开新的控制台窗口,但我希望它改为在 CLI 中运行并返回任何 Console.WriteLine() 在那里

这就是我拆分 GUI 和控制台的方式

static class program{
    [STAThread]
    [System.Runtime.InteropServices.DllImport("kernel32.dll")]
    private static extern bool AllocConsole();

    static void Main(string[] args){
        if (args.Length > 0)
        {
            AllocConsole();
            Console.WriteLine("Yo!");
            Console.ReadKey();
        }
        else
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new someForm());
        }
    }
}

“哟!” 出现在新的控制台窗口中,但我希望它出现在命令界面中

艾尔姆

除了您的代码,您还需要更改以下内容:

1)Console Application在项目设置页面中将您的项目类型设置为。WinForms如果未提供命令行参数,您的“模式”将按预期运行。

2) 删除对 的调用AllocConsole

3) 隐藏控制台窗口,以防您运行 WinForms 模式。

这是完整的代码:

[System.Runtime.InteropServices.DllImport("kernel32.dll")]
static extern IntPtr GetConsoleWindow();

[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);

[STAThread]
static void Main(string [] args)
{
    if (args.Length > 0)
    {              
        Console.WriteLine("Yo!");
        Console.ReadKey();
    }
    else
    {
        ShowWindow(GetConsoleWindow(), 0);
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }                
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何为 C# 程序创建命令行命令

来自分类Dev

如何在 C 中编写命令行程序

来自分类Dev

如何从命令行启动GUI linux程序,但又与命令行分开?

来自分类Dev

命令行IRC程序?

来自分类Dev

C#通用Windows应用程序如何接受命令行参数(args)

来自分类Dev

如何在Eclipse(C ++或Java)中创建命令行应用程序?

来自分类Dev

如何在C ++应用程序(而非类似命令行工具)中使用GnuPG?

来自分类Dev

如何使用execlp将命令行参数传递给C程序

来自分类Dev

如何在不是命令行项目的XCode项目中运行C主程序

来自分类Dev

如何在Eclipse(C ++或Java)中创建命令行应用程序?

来自分类Dev

如何使用execlp将命令行参数传递给C程序

来自分类Dev

从Eclipse IDE运行C程序时如何为其指定命令行参数

来自分类Dev

如何设置 C# 应用程序以接受命令行参数?

来自分类Dev

Raspberry Pi:在C / C ++程序中访问命令行

来自分类Dev

命令行实用程序gem如何工作?

来自分类Dev

如何关闭Spring Boot命令行应用程序

来自分类Dev

如何使用MPI程序从命令行读取参数?

来自分类Dev

如何从命令行杀死KDE屏幕保护程序

来自分类Dev

如何从命令行杀死KDE屏幕保护程序

来自分类Dev

如何使python程序直接写入命令行?

来自分类Dev

如何找出正在运行的程序的命令行参数?

来自分类Dev

如何在Java程序中使用命令行?

来自分类Dev

如何在命令行中运行Java程序?

来自分类Dev

如何从命令行运行程序?

来自分类Dev

如何从命令行停止Mule应用程序?

来自分类Dev

Windows 10如何创建命令行程序

来自分类Dev

如何从命令行启动该程序?

来自分类Dev

如何通过命令行覆盖Java程序

来自分类Dev

如何从命令行查找应用程序的路径?

Related 相关文章

  1. 1

    如何为 C# 程序创建命令行命令

  2. 2

    如何在 C 中编写命令行程序

  3. 3

    如何从命令行启动GUI linux程序,但又与命令行分开?

  4. 4

    命令行IRC程序?

  5. 5

    C#通用Windows应用程序如何接受命令行参数(args)

  6. 6

    如何在Eclipse(C ++或Java)中创建命令行应用程序?

  7. 7

    如何在C ++应用程序(而非类似命令行工具)中使用GnuPG?

  8. 8

    如何使用execlp将命令行参数传递给C程序

  9. 9

    如何在不是命令行项目的XCode项目中运行C主程序

  10. 10

    如何在Eclipse(C ++或Java)中创建命令行应用程序?

  11. 11

    如何使用execlp将命令行参数传递给C程序

  12. 12

    从Eclipse IDE运行C程序时如何为其指定命令行参数

  13. 13

    如何设置 C# 应用程序以接受命令行参数?

  14. 14

    Raspberry Pi:在C / C ++程序中访问命令行

  15. 15

    命令行实用程序gem如何工作?

  16. 16

    如何关闭Spring Boot命令行应用程序

  17. 17

    如何使用MPI程序从命令行读取参数?

  18. 18

    如何从命令行杀死KDE屏幕保护程序

  19. 19

    如何从命令行杀死KDE屏幕保护程序

  20. 20

    如何使python程序直接写入命令行?

  21. 21

    如何找出正在运行的程序的命令行参数?

  22. 22

    如何在Java程序中使用命令行?

  23. 23

    如何在命令行中运行Java程序?

  24. 24

    如何从命令行运行程序?

  25. 25

    如何从命令行停止Mule应用程序?

  26. 26

    Windows 10如何创建命令行程序

  27. 27

    如何从命令行启动该程序?

  28. 28

    如何通过命令行覆盖Java程序

  29. 29

    如何从命令行查找应用程序的路径?

热门标签

归档