簡體   English   中英

C# 控制台應用程序找不到任何程序 windows OSX Catalina

[英]C# Console App can't find any program windows OSX Catalina

這讓我發瘋了,但我有一個應用程序我正在嘗試跨平台,其中一部分是能夠辨別哪些正在運行的應用程序打開了窗口,然后對這些窗口執行操作。 但是我一生都無法讓它在 Mac OSX 10.15.7 上運行。 使用 System.Diagnostics 可以讓我訪問正在運行的進程,這就像做夢一樣,但是一旦我問計算機哪些進程有與它們關聯的窗口,它就像“窗口?我不知道,我沒有看到任何窗口這里。” 當我在視野內查看多個窗口時,這非常煩人。

這是我的代碼,它在 Windows 10 上完美運行,這讓我想知道 OSX 沙箱他們的應用程序的方式是否有什么特別之處阻止我看到他們的窗口。 任何幫助深表感謝。

static void Main()
        {
            int hold = 0;
            Process[] processes = Process.GetProcesses();
            foreach (var proc in processes)
            {
                string WinName;
                if (!string.IsNullOrEmpty(proc.MainWindowTitle))
                {
                    WinName = proc.MainWindowTitle;
                    Console.WriteLine("---------");
                    Console.WriteLine(proc.ProcessName + WinName);
                    Console.WriteLine("---------");
                    hold++;
                }                
            }
            if (hold == 0)
            {
                Console.WriteLine("This is screwed up.");
            }
        }

文檔

如果系統無法確定存在主窗口(例如在某些 Unix 平台上可能是這種情況),則 MainWindowTitle 是一個空字符串 ("")

源代碼本身來看,MainWindowTitle 只在 Win32 上實現,其他只返回一個空字符串。 根據開發者確認的問題評論,由於支持各種窗口系統的復雜性,不太可能修復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM