GetForegroundWindow獲取的是托管進程ApplicationFrameHost,而不是真正的進程,比如XD軟件


問題描述

  最近做一個實時檢測系統當前激活進程的軟件,Photoshop、PPT、Word都沒有問題,但是無法檢測到XD軟件的進程,返回的僅僅是ApplicationFrameHost進程,經過研究發現:XD軟件被進程ApplicationFrameHost托管, 因此GetForegroundWindow()方法返回帶有標題的窗口,但不返回托管的實際進程,

解決思路

  解決方法是再次通過EnumChildWindows獲取ApplicationFrameHost的子窗口句柄,直到獲取到實際進程。

 

代碼:

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

  CSDN:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM