如何知道它是否是Windows控制台?

时间:2012-09-07 20:33:01

标签: windows console

有没有安全的方法来了解实际窗口是否是Windows控制台?

GetConsoleTitle不起作用,因为标题可以更改。

2 个答案:

答案 0 :(得分:0)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Process[] processes = Process.GetProcessesByName("cmd");
            foreach (Process p in processes)
            {
                var window = p.MainWindowHandle;
                // Do something 
            }
        }
    }
}

答案 1 :(得分:0)

当您通过CreateProcessShellExecuteEx函数从程序运行 CMD (或任何基于控制台的程序)时,您将获得其进程ID。与EnumWindowsGetWindowThreadProcessId一起使用可找到其控制台窗口。