使用Mac上的C#获取活动窗口信息
先决条件。Visual Studio for Mac、Mono、C# 我正在将现有的C#应用程序从Windows移植到Mac。我现在需要的是获取关于当前活动窗口/进程的信息。只是用户友好的应用程序名称和窗口标题使用Mac上的C#获取活动窗口信息,c#,macos,xamarin,mono,xamarin.mac,C#,Macos,Xamarin,Mono,Xamarin.mac,先决条件。Visual Studio for Mac、Mono、C# 我正在将现有的C#应用程序从Windows移植到Mac。我现在需要的是获取关于当前活动窗口/进程的信息。只是用户友好的应用程序名称和窗口标题 Windows代码为此使用WinAPI,如GetForeGroundIndow。Mac上有类似的东西吗?有什么方法可以获取所需信息吗?您正在查找共享的NSWorkspace的FrontmostApplication,它返回一个NSRunningApplication实例 var fore
Windows代码为此使用WinAPI,如GetForeGroundIndow。Mac上有类似的东西吗?有什么方法可以获取所需信息吗?您正在查找共享的
NSWorkspace
的FrontmostApplication
,它返回一个NSRunningApplication
实例
var foreground_app = NSWorkspace.SharedWorkspace.FrontmostApplication;
Console.WriteLine($"Name: {foreground_app.LocalizedName}");
Console.WriteLine($"Pid: {foreground_app.ProcessIdentifier}");
回复:太好了!谢谢我还要补充一点,我必须添加MonoMac.NetStandard才能获得所需的类。我问题的第二部分包括答案(如何获得窗口标题)可以在这里找到: