我想做什么:
获取当前活动/重点关注的应用的进程名称,但问题是,谷歌浏览器等一些程序同时有多个子窗口,当我运行此代码时,我得到一个异常状态发现有多个身份证等。
以下是代码:
运行代码的基本要点
[DllImport("user32.dll")]
public static extern bool SetForegroundWindow(IntPtr hWnd);
[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
private static extern IntPtr GetForegroundWindow();
以下是主要代码:
Process myProcess = Process.GetProcesses().Single(
p => p.Id != 0 && p.MainWindowHandle == GetForegroundWindow());
运行时,如果应用程序有多个子窗口,我会收到异常,我该怎么办?