Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.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
使用Mac上的C#获取活动窗口信息_C#_Macos_Xamarin_Mono_Xamarin.mac - Fatal编程技术网

使用Mac上的C#获取活动窗口信息

使用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

先决条件。Visual Studio for Mac、Mono、C#

我正在将现有的C#应用程序从Windows移植到Mac。我现在需要的是获取关于当前活动窗口/进程的信息。只是用户友好的应用程序名称和窗口标题


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才能获得所需的类。我问题的第二部分包括答案(如何获得窗口标题)可以在这里找到: