0

有什么安全的方法可以知道实际窗口是否是 Windows 控制台?

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

4

2 回答 2

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 
            }
        }
    }
}
于 2012-09-07T20:40:46.487 回答
0

当您通过或函数从程序运行CMD(或任何基于控制台的程序)时,您将获得其进程 ID。使用它来查找它的控制台窗口。CreateProcessShellExecuteExEnumWindowsGetWindowThreadProcessId

于 2012-09-08T02:13:34.677 回答