>Felado : [Hungary]
>Temakor: ablak eleres kivulrol ( 15 sor )
>Idopont: Sun Aug 20 14:54:12 EDT 2000 CODER #919
>- - - - - - - - - - - - - - - - - - - - - - - - - - - -
>Keszitettem egy horgot a SetWindowsHookEx fuggveny segitsegevel. Az
>alakalmazasban van (nem DLL-ben) a callback fuggveny, amit bizonyos
>uzenetek hatasara meghiv a Windows. Ebbol a fuggvenybol kellene a
>foablakom egy gyermekablakanak uzenetet kuldeni. Ha ennek a
>gyermekablaknak a leirojat globalis messzi mutato (far*) valtozokent
>lementem, es a callback fuggvenybol igy szeretnek uzenetet kuldeni a
>gyermekablaknak, elszall a program. Valoszinuleg mas ablakot
>aktivizalva megvaltozik az adatszegmens cime, es innen mar nem
>erhetem el a far* -on levo leirot, es valoszinuleg nem is kuldhetnek
>uzenetet neki.
>Hogyan tudnam elerni e callback fuggvenybol a gyermekablakomat?
>Lehetoleg gyors megoldas kellene.
Kicsit utana neztem a dolgoknak es az irodalom azt ajanlja, hogy a
callback fuggveny az DLL - ben legyen megvalositva, valamint hogy a
leheto legrovidebb legyen a futasa. Elso olvasara szerintem valamilyen
listazast szeretnel megvalositani, ezt peldaul en ugy oldanam meg hogy
egy DLL - be tennem a callback fuggvenyt, amely ott az szepen gyujtene
a beerkezett uzeneteket, egy masik DLL - beli fuggvennyel pedig a
gyujtott uzeneteket olvasnam ki es jelenitenem meg. Azt hogy nem
tudtad a gyermek ablaknak uzenetet kuldeni, lehet hogy eppen a hook
fugvenyek megszoritasai miatt vannak, de lehet hogy valamit
elirhattal, csak talalgatni tudok mert meg nem csinalltam ilyet ...
tovabbi jo kodolast
by Doma
|
Szia Akos!
>Az altalatok ajanlott kodban hogyan oldanatok meg pl. a valtozo szamu
>(es tipusu) parameterek atadasat (pl. tegyuk fel, hogy a printf
>fuggvenyt tudom megcsapolni, de a sajat kod utan valtozatlanul meg
>kellene hivnom az eredeti printf-et).
Hogy ne kelljen ilyen rondasagokat csinalni, van egy vprintf fuggveny.
Ez megoldja a problemadat?
Péter
|
>Delphi4 alatt hogyan tudnam megoldani, hogy ha egyszerre tobb
>billentyut nyomok le, akkor ne csak az utoljara lenyomott billentyut
>erzekelje a progim?
Az OnKeyDown()-ban minden egyes billentyu lenyomasakor egy kulon
esemenyt kell kapnod. (Gondolom az OnKeyPress()-t hasznalod.)
Gabor
|