[ YaTaGaN @ 10.06.2002. 19:39 ] @
Da li bi neko mogao da me uputi na source nekog programa koji moze da grebuje ekran pod directx-om, ili bar da mi ukratko objasni kako to da izvedem? Pri tom ne mislim da hvatam slike iz svog programa, vec iz nekog drugog (igre recimo). Postoji gomila programcica koji to rade, ali bas moram da izvedem programski.
[ leka @ 11.06.2002. 13:55 ] @
Siguran sam da odgovor na svoje pitanje imas (na neki nacin) u DirectX dokumentaciji. Ja licno nikada nisam bio zainteresovan za DirectX tako da ti konkretno ne mogu pomoci. :(
[ Milan Aksic @ 11.06.2002. 19:36 ] @
Mozda ce ti pomoci ovi linkovi, na kojima najvaznije, mozes da skines source code:

http://www.geocities.com/foets...8screenshot/d3d8screenshot.htm

http://www.geocities.com/foetsch/screenshot/screenshot.htm
[ YaTaGaN @ 12.06.2002. 11:28 ] @
Hvala na linkovima. Nije bas ono sto mi je trebalo, ali je bilo vrlo inspirativno. U tekstovima se opisuje pisanje screenshot funkcije za svoj program, a ja pokusavam da hvatam ekran tudje aplikacije. Na kraju se ispostavilo da ovo i nije toliki problem. Ako nekog interesuje, mogu da opisem kako se to radi.
[ Milan Aksic @ 12.06.2002. 14:15 ] @
Kada budes uradio, ne bi bilo lose da postujes rezultat i ovde, mozda ce jos nekome trebati ;o)

Pozdrav.
[ YaTaGaN @ 13.06.2002. 17:50 ] @
Ma evo uputstva (ko zna kada cu se nakaniti da uradim nesto ;)):
Najbolje je kod staviti u dll, koji bi se ucitao u share-ovani region memorije
(2-3gb). Time se resava problem sa exclusive modom, jer cemo biti u kontekstu
procesa koji ima exclusive mode (u stvari, bicemo u kontekstu *svih* procesa na
sistemu). Potrebna je takodje i keyboard hook funkcija (kao kostur moze da
posluzi i source od nekog jadnog keyloggera ;)), i kada se detektuje hot-key,
pozove se EnumSurfaces(). Callback funkcija ce da testira sve surface, dok ne
nadje primary (ili visible) surface, i sacuvace pointer. Sada moze da se
iskoristi ScreenShot funkcija iz onih primera, koja ionako kao parametre prima
pointer na surface i ime fajla - i to je to. Verovatno ima jos nekih detalja o
kojima treba voditi racuna, videcu kad budem radio nesto konkretnije...