Aşağıdaki örnek, etkin pencereyle ilişkilendirilen işlemin adını güvenilir bir şekilde döndürdü, ancak yeni modern/evrensel uygulamalarla çalışmaz; Bir yardımcı işlem WWAHost.exe Windows 8 ve ApplicationFrameHost.exe Windows 10 yerine uygulamanın adı. Windows'un 10 ApplicationFrameHost.exe ileWindows'da etkin pencere için işlem adı 8/10
HWND active_window = GetForegroundWindow();
GetWindowThreadProcessId(active_window, &active_process_id);
HANDLE active_process = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, active_process_id);
GetProcessImageFileName(active_process, image_name, 512);
pencere kolları oluşturur ve GetWindowThreadProcessId() tarafından döndürülen Nelerin olduğunu süreçtir, evrensel app aktif sürecini almak için kullanılabilecek bir başka Win32 API olduğunu aktif?
da active_process kolu sadece yardımcı işlemi olup, aktif uygulamadaki bir süreç olduğu için, sırasıyla APPMODEL_ERROR_NO_APPLICATION ve APPMODEL_ERROR_NO_PACKAGE dönüş olarak başarı ile GetApplicationUserModelId() ve GetPackageFullName() kullanarak çalıştı. Pencerenin hwnd'i verilen Modern/Evrensel uygulamasının işlem adını almak için kullanılan diğer tüm API'lar veya evrensel uygulamanın işlem adını belirleme diğer etkin API'lardır.Şimdiden teşekkürler!
['QueryFullProcessImageName'] 'ı (https://msdn.microsoft.com/en-us/library/windows/desktop/ms684919%28v=vs.85%29.aspx) denediniz mi? – theB
Evet ve hala ApplicationFrameHost.exe yolunu döndürür, çünkü process_handle döndürülen pencereyi oluşturan yardımcı işlemdir. –