Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C#中的任务管理器中隐藏控制台应用程序?_C#_.net_Console Application - Fatal编程技术网

如何在C#中的任务管理器中隐藏控制台应用程序?

如何在C#中的任务管理器中隐藏控制台应用程序?,c#,.net,console-application,C#,.net,Console Application,我有一个控制台应用程序,我想在运行任务管理器时将其隐藏。如果您想从任务管理器中的应用程序列表中隐藏控制台应用程序 试试这个: using System; using System.Runtime.InteropServices; namespace SampleConsoleTest { class Program { [DllImport("kernel32.dll")] static extern IntPtr GetConsoleWind

我有一个控制台应用程序,我想在运行任务管理器时将其隐藏。

如果您想从任务管理器中的应用程序列表中隐藏控制台应用程序

试试这个:

using System;
using System.Runtime.InteropServices;

namespace SampleConsoleTest
{
    class Program
    {

        [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;

        static void Main(string[] args)
        {
            var handle = GetConsoleWindow();


            // Hide
            ShowWindow(handle, SW_HIDE);


            // Show
            //ShowWindow(handle, SW_SHOW);

            Console.ReadKey();
        }
    }
}
这不会在应用程序列表中显示应用程序,但在进程列表中可见


它是关于对任务管理器隐藏进程

一种常见的方法是将流程注入另一个流程:


这里有一个关于如何实现它的详细答案:

这不是一个过程!每个正在运行的程序都是一个进程…@Amirdo你的意思是从任务管理器的应用程序列表中隐藏控制台应用程序吗?@PaRiMaLRaJ:是的,谢谢。@downvoter,请查看更新的答案!