在控制台应用程序中隐藏控制台窗口

艾伦·沙皮拉(Alan Schapira)

我有一个正在使用控制台的应用程序,但是我更改了所有代码以写入文件而不是控制台。现在,我希望控制台在运行应用程序时不再出现。我该怎么做呢?我不知道是什么首先打开了控制台,即使代码中没有写入任何内容。

我已经查看了应用程序引用,但找不到被引用的System.Console。我虽然禁用了该功能,但可以修复该错误或将我指向正确的方向并出现错误。我不确定还有什么地方可以看。

我在网上找到的所有其他东西都在谈论隐藏控制台。我希望它不会出现在第一位。

瓦伦丁

转到应用程序属性,然后将输出类型从控制台应用程序更改为Windows应用程序。

或者您可以使用下面的代码来实现

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

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

而在主要

const int SW_HIDE = 0;
const int SW_SHOW = 5;
var handle = GetConsoleWindow();

ShowWindow(handle, SW_HIDE); // To hide
ShowWindow(handle, SW_SHOW); // To show

另外,您可以将应用程序作为服务运行。为此,您应该创建一个服务-File-> New Project-> Visual C#-> Windows-> Windows Service然后创建一个公共方法,StartWork()并在其中添加所有逻辑。并在中调用此方法OnStart()

 protected override void OnStart(string[] args)
    {
        try
        {
            this.StartJobs();
        }
        catch (Exception ex)
        {
            // catching exception
        }
    }

    public void StartWork()
    {
       // all the logic here
    }

首先,您应该创建此服务并将System.ServiceProcess.ServiceBase.Run()其用作服务运行,或调用StartWork()以将其作为控制台应用程序运行。

static void Main(string[] args)
{
    TestService = new  TestService ();

    #if DEBUG
        TestService.StartWork()();
    #else
        System.ServiceProcess.ServiceBase.Run(TestService ); 
    #endif
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何显示/隐藏控制台窗口应用程序?

来自分类Dev

控制台应用程序:关闭窗口与程序结束

来自分类Dev

静默运行控制台应用程序(禁止显示控制台窗口)

来自分类Dev

从隐藏的控制台应用程序显示表单

来自分类Dev

如何从控制台应用程序打开WPF窗口

来自分类Dev

生成控制台窗口而不锁定应用程序

来自分类Dev

控制台应用程序无法打开命令窗口

来自分类Dev

从控制台应用程序显示 Wpf 窗口

来自分类Dev

在OS X上运行Mono应用程序时隐藏控制台窗口

来自分类Dev

如何显示由createprocess函数隐藏的控制台应用程序窗口

来自分类Dev

在OS X上运行Mono应用程序时隐藏控制台窗口

来自分类Dev

与控制台应用程序通信

来自分类Dev

Commandlet与控制台应用程序

来自分类Dev

调度控制台应用程序

来自分类Dev

WebJob控制台应用程序中的ProcessQueueMessage函数

来自分类Dev

在控制台应用程序中实现导航菜单

来自分类常见问题

在控制台应用程序中显示图像

来自分类Dev

控制台应用程序中的进度栏问题

来自分类Dev

控制台应用程序中的颜色

来自分类Dev

在控制台应用程序中同步运行的任务

来自分类Dev

控制台应用程序中的存储过程

来自分类Dev

在Nim中退出控制台应用程序

来自分类Dev

控制台应用程序中的异步等待

来自分类Dev

控制台应用程序中的Linux Qt QSystemTrayIcon

来自分类Dev

控制台应用程序中的Unity Config错误

来自分类Dev

控制台应用程序中的存储过程

来自分类Dev

简单控制台测试应用程序中的NullPointerException

来自分类Dev

在控制台应用程序中解析粘贴的文本

来自分类Dev

在控制台应用程序中获取表名称

Related 相关文章

热门标签

归档