[ anon68680 @ 11.03.2010. 18:56 ] @
Imam aplikaciju koja radi kao servis u okviru SYSTEM naloga, koja treba po odredjenom vremenskom intervalu da uhvati screenshot korisnika koji je ulogovan na racunar. Trenutno moja funkcija za screenshot izgleda ovako: Code: var DC : HDC; begin DC := GetDC (GetDesktopWindow) ; try bm.Width := GetDeviceCaps (DC, HORZRES) ; bm.Height := GetDeviceCaps (DC, VERTRES) ; BitBlt(bm.Canvas.Handle, 0, 0, width, height, DC, 0, 0, SRCCOPY) ; finally ReleaseDC (GetDesktopWindow, DC) ; end; Problem je u tome sto kada se ova funkcija koristi u Servis tipu aplikacije, dobijam samo belu sliku, dok kada se koristi u obicnoj aplikaciji radi. Pretpostavljam da je problem u tome sto funkcija hvata desktop handle korisnika koji je pokrenuo aplikaciju, a to je u slucaju servis aplikacije SYSTEM, a ne korisnik ciji je screenshot meni potreban. Ima li neko ideju kako da resim ovo? Verovatno treba nekako da dobijem handle desktopa tog korisnika. |