🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.asm
7 messages
7 total messages Started by Remek Thu, 05 Jul 2007 16:23
Hook
#1294
Author: Remek
Date: Thu, 05 Jul 2007 16:23
31 lines
1803 bytes
Witam

Napisałem mały programik z wykorzystaniem procedury Hook. Program niczego
specjalnego nie robi, przenosi tylko znak z jednego edita do drugiego.
Problem jest w dzialaniu procedury Hook. Chodziło mi o to, aby działanie
tego kawałka:

--------------
 pop  ecx
 lea  esi, Bufor1
 mov  al, [esi]
 mov  [Bufor2], al
--------------

można było spowodować nie tylko wciśnięciem buttona "Oblic", ale też "Enter"
i żeby kolejne naciskanie "Tab" podświetlało kolejne kontrolki. Działa, ale
trochę nie tak. Po wpisaniu znaku w Edit1 i wciśnięciu "Enter" wpisany znak
jest prawidłowo przenoszony do Edit2. Teraz zmieniam wpis w Edit1 na inny
znak i po wciśnięciu "Enter" nic się nie dzieje. Dopiero drugie naciśnięcie
"Enter" powoduje zadziałanie cytowanej procedurki. Co zrobić, aby każde
naciśnięcie "Enter" uruchamiało ten cytowany kawałek?

Wszystkie pliki są tu:

http://remek62.republika.pl/Tymcz/tymcz.html


-- 
Pozdrawiam Remek
K7S5A, Duron 1,1
Windows98 SE, IE6, OE6
Re: Hook
#1297
Author: Matuzalem
Date: Fri, 06 Jul 2007 12:29
46 lines
2865 bytes
On 5 Lip, 18:23, "Remek" <wias...@neostrada.pl> wrote:
> Witam
>
> Napisałem mały programik z wykorzystaniem procedury Hook. Program niczego
> specjalnego nie robi, przenosi tylko znak z jednego edita do drugiego.
> Problem jest w dzialaniu procedury Hook. Chodziło mi o to, aby działanie
> tego kawałka:
>
> --------------
>  pop  ecx
>  lea  esi, Bufor1
>  mov  al, [esi]
>  mov  [Bufor2], al
> --------------
>
> można było spowodować nie tylko wciśnięciem buttona "Oblic", ale też "Enter"
> i żeby kolejne naciskanie "Tab" podświetlało kolejne kontrolki. Działa, ale
> trochę nie tak. Po wpisaniu znaku w Edit1 i wciśnięciu "Enter" wpisany znak
> jest prawidłowo przenoszony do Edit2. Teraz zmieniam wpis w Edit1 na inny
> znak i po wciśnięciu "Enter" nic się nie dzieje. Dopiero drugie naciśnięcie
> "Enter" powoduje zadziałanie cytowanej procedurki. Co zrobić, aby każde
> naciśnięcie "Enter" uruchamiało ten cytowany kawałek?
>
> Wszystkie pliki są tu:
>
> http://remek62.republika.pl/Tymcz/tymcz.html
>
> --
> Pozdrawiam Remek
> K7S5A, Duron 1,1
> Windows98 SE, IE6, OE6

Witam

Kilka mozliwosci:

- dodajesz wlasna obsluge komunikatow dla 'edit' - SetWindowLong(hwnd,
DWL_DLGPROC, ...)
- dodajesz glowna petle programu i obsluge TranslateMessage,
- do DlgProc - u Ciebie DlgFunc - dodajesz: "case WM_GETDLGCODE:
return DLGC_WANTALLKEYS;"

W/w sposoby powinny zadzialac jesli pozostala obsluga komunikatow
(czytaj program) jest dobrze napisana.

Pozdrawiam
Re: Hook
#1295
Author: Remek
Date: Fri, 06 Jul 2007 18:07
24 lines
1631 bytes
Użytkownik "Matuzalem" napisał:

> Kilka mozliwosci:

> - dodajesz wlasna obsluge komunikatow dla 'edit' - SetWindowLong(hwnd,
> DWL_DLGPROC, ...)
> - dodajesz glowna petle programu i obsluge TranslateMessage,
> - do DlgProc - u Ciebie DlgFunc - dodajesz: "case WM_GETDLGCODE:
> return DLGC_WANTALLKEYS;"

> W/w sposoby powinny zadzialac jesli pozostala obsluga komunikatow
> (czytaj program) jest dobrze napisana.

Będę próbował. Oglądałeś mój kod? Może wystarczy jakaś drobna poprawka?

> dodajesz glowna petle programu i obsluge TranslateMessage

TranslateMessage jeśli się nie mylę tłumaczy kod przycisku na znak. W tym
przypadku jest to chyba zbędne.

-- 
Pozdrawiam Remek
K7S5A, Duron 1,1
Windows98 SE, IE6, OE6
Re: Hook
#1296
Author: Matuzalem
Date: Fri, 06 Jul 2007 21:10
23 lines
2082 bytes
On 6 Lip, 20:07, "Remek" <wias...@neostrada.pl> wrote:
> Użytkownik "Matuzalem" napisał:
>
> > Kilka mozliwosci:
> > - dodajesz wlasna obsluge komunikatow dla 'edit' - SetWindowLong(hwnd,
> > DWL_DLGPROC, ...)
> > - dodajesz glowna petle programu i obsluge TranslateMessage,
> > - do DlgProc - u Ciebie DlgFunc - dodajesz: "case WM_GETDLGCODE:
> > return DLGC_WANTALLKEYS;"
> > W/w sposoby powinny zadzialac jesli pozostala obsluga komunikatow
> > (czytaj program) jest dobrze napisana.
>
> Będę próbował. Oglądałeś mój kod? Może wystarczy jakaś drobna poprawka?
>
> > dodajesz glowna petle programu i obsluge TranslateMessage
>
> TranslateMessage jeśli się nie mylę tłumaczy kod przycisku na znak. W tym
> przypadku jest to chyba zbędne.

Jest rowniez odpowiedzialne za obsluge WM_KEYDOWN/WM_KEYUP i
prawidlowego odbierania wcisniec.

Pozdrawiam
Re: Hook
#1298
Author: Remek
Date: Mon, 09 Jul 2007 15:55
12 lines
1162 bytes
Użytkownik "Remek" napisał:

> Problem jest w dzialaniu procedury Hook.

Mam pytanie. Czy nikłe zainteresowanie tym wątkiem, wynika z tego, że mało
kto pisze w Masm32 pod Windows, czy z tego że problemu nie ma i każdy oprócz
mnie łatwo by sobie z nim poradził?

-- 
Pozdrawiam Remek
K7S5A, Duron 1,1
Windows98 SE, IE6, OE6
Re: Hook
#1299
Author: Bogdan (bogdro)
Date: Tue, 10 Jul 2007 10:08
19 lines
1665 bytes
Remek pisze:
> Użytkownik "Remek" napisał:
> 
>> Problem jest w dzialaniu procedury Hook.
> 
> Mam pytanie. Czy nikłe zainteresowanie tym wątkiem, wynika z tego, że mało
> kto pisze w Masm32 pod Windows, czy z tego że problemu nie ma i każdy oprócz
> mnie łatwo by sobie z nim poradził?

 Mówię za siebie: nie piszę anie w masm32 ani pod Windows. Problem
jest związany z wykorzystaniem WinAPI, więc zanim ja bym doszedł,
gdzie tu błąd, minęłoby wiele czasu (bo prawie wcale nie znam WinAPI).
Podchwyć jakiś tutorial, masz opis WinAPI?

-- 
Pozdrawiam/Regards - Bogdan                         (Linux & FreeDOS)
Kurs asemblera x86  (DOS & Linux):  http://rudy.mif.pg.gda.pl/~bogdro
Grupy dyskusyjne o asm:  pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32
Rozmawiaj bezpiecznie: www.JabberPL.org Surfuj anonimowo: tor.eff.org
Re: Hook
#1300
Author: Remek
Date: Tue, 10 Jul 2007 17:33
20 lines
1724 bytes
Użytkownik "Bogdan (bogdro)" napisał:


> Problem jest związany z wykorzystaniem WinAPI, więc zanim ja bym doszedł,
> gdzie tu błąd, minęłoby wiele czasu (bo prawie wcale nie znam WinAPI).
> Podchwyć jakiś tutorial, masz opis WinAPI?

Na temat funkcji systemowych Win32 mam od dawna wszystko co opublikowano w
sieci. Łącznie z dokumentacją M$ jest tego sporo. Natomiat jeśli chodzi o
tutoriale, to po odfiltrowaniu i odciśnięciu wody jest tyle co "kot
napłakał". W moim przypadku chyba mniej chodzi o właściwości konkretnych
funkcji, a bardziej o logikę działania programu w systemie. Głównie o
krążenie pętli komunikatów. W programie jest ich kilka wzajemnie powiązanych
i trudno mi te powiązania i zagnieżdżenia zrozumieć.


-- 
Pozdrawiam Remek
K7S5A, Duron 1,1
Windows98 SE, IE6, OE6
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads