I would like to know a software when it is running it's process name and it's company name and it's windows title name for example a software in Add/Remove Program called FileZilla Client 3.3.2.1 it's process name is filezilla.exe it's company name is fileZilla Project it's win开发者_Go百科dows title name is FileZilla
is it possible to get these connections
enumerate all windows with EnumWindows to get its window's HANDLE (HWND).
for each window you can: use GetWindowText to get its title. use GetWindowThreadProcessId to get windows' process ID. use OpenProcess to get a HANDLE to the process. use GetModuleBaseName to get the exe's name.
The association between running programs and the Add/Remove Programs dialog is rather weak, to put it mildly. The installed programs list is really a list of (un)installers. Furthermore, those are often scripted uninstallers. Only somewhere in that script would be a list of the installed files. There's no standard way to access those scripts. Therefore, you can't figure out which files would be removed by an uninstaller, and therefore you can't correlate running programs and their uninstallers.
精彩评论