先决条件。 Visual Studio for Mac,Mono,C#
我要将现有的C#应用程序从Windows移植到Mac。我当前需要的是获取有关当前活动窗口/进程的信息。只是用户友好的应用程序名称和窗口标题。
Windows代码为此使用Win API,例如GetForegroundWindow。 Mac上是否存在类似的东西?有什么方法可以获取必需的信息?
答案 0 :(得分:1)
您正在寻找共享的FrontmostApplication
中的NSWorkspace
,它返回一个NSRunningApplication
实例。
var foreground_app = NSWorkspace.SharedWorkspace.FrontmostApplication;
Console.WriteLine($"Name: {foreground_app.LocalizedName}");
Console.WriteLine($"Pid: {foreground_app.ProcessIdentifier}");
re:https://developer.apple.com/documentation/appkit/nsrunningapplication?language=objc