系统相关
首页 > 系统相关> > GetForegroundWindow获取的是托管进程ApplicationFrameHost,而不是真正的进程,比如XD软件

GetForegroundWindow获取的是托管进程ApplicationFrameHost,而不是真正的进程,比如XD软件

作者:互联网

问题描述

  最近做一个实时检测系统当前激活进程的软件,Photoshop、PPT、Word都没有问题,但是无法检测到XD软件的进程,返回的仅仅是ApplicationFrameHost进程,经过研究发现:XD软件被进程ApplicationFrameHost托管, 因此GetForegroundWindow()方法返回带有标题的窗口,但不返回托管的实际进程,

解决思路

  解决方法是再次通过EnumChildWindows获取ApplicationFrameHost的子窗口句柄,直到获取到实际进程。

 

代码:

  GitHub :https://github.com/qiuxianhu/WinFormGetActiveProcess

  CSDN:

标签:GetForegroundWindow,ApplicationFrameHost,托管,XD,进程,软件
来源: https://www.cnblogs.com/qtiger/p/10792160.html