UPP + Winapi

Fórumok

hali

upp-ben irok egy progit es olyan dolgot kene megoldanom, hogy
mas alkalmazas allapotat(minimalizalt vagy nem) lekerdezzem

szoval addig eljutottam, hogy meg tudom allapitani, hogy
fut-e az a bizonyos progi, de nem tudom, hogy hogyan lehetne
megszerezni egy adott proceszhez tartozo ablak handlerjat, mert
ugyebar a handler ismereteben mar konnyu lenne a dolgom(IsIconic)

esetleg ha mar valaki talakozott - csinalt ilyet, ne kimeljen :)

koszi

Hozzászólások

nem kimelem magamat:))

elso lepesben megszerzem az alkalmazas pid-jet
a

CreateToolhelp32Snapshot

/

FirstProcess32

/

NextProcess32

komboval, majd az alkalmazas
pid-jehez tartozo szalakat a

CreateToolhelp32Snapshot

/

FirstThread32

/

NextThread32

komboval.

ekkor rendelkezesre all az adott alkalmazashoz
tartozo szalak id-je, ugye

az ablakokon "vegigmenni" az

EnumWindows

fuggvennyel lehet. ez egy ujabb fuggvenyt var parameterkent,
amit minden ablak vegrehajt(CALLBACK fuggveny, legalabbis
azt hiszem, hogy ez a CALLBACK lenyege)

a parameterkent megadott fuggveny:

BOOL CALLBACK MyEnumWindows(HWND hwnd, LPARAM lparam)

a hwnd ismereteben lekerheto az ablakhoz tartozo szal id-je
a

GetWindowProcessThreadId(hwnd,NULL)

, ha ez az id
megegyezik a keresett alkalmazas valamelyik szaljanak id-jevel,
akkor helyben vagyunk.

az

IsIconic(hwnd)

true-t ad vissza, ha a hwnd ablak ikonizalt

nagy vonalakban ennyi
/* bocs az esetleges helyesirasi hidakert */