Autor: Kowal (kowal2_at_friko6.onet.pl.nospam)
Data: Mon 01 Feb 1999 - 16:07:15 MET
>Dlaczego takie pytania mnie zawsze śmieszą?
Bo dla nas wygladaja banalnie!
>Choć problem jest ciekawy. Oczywiście działanie w tle to pestka, ale
>nigdy nie udało mi się nic zapisać do pliku. Chciałem kiedyś napisać
>"łapacza" ekranu. Wszystko ślicznie - ładnie łapał cały ekran, ale
>wieszał się przy zapisie do pliku. Pewnie dlatego, że to kolejne
>przerwanie i odwołanie... Czy ktoś rozwiązał może problem zapisywania
>do pliku z rezydenta?
Do glowy przychodzi mi cos takiego:
Nalezy przechwycic _sprzetowe_ przerwanie klawiatury. Jak wiadomo nie
mozna w nim wywolywac niektorych funckji MS-DOS, wiec uzyjemy sztuczki :)
Zamiast zapisywac z do pliku z przerwania sprzetowego, przechwytujemy jakies
wolne przerwanie. Co ma zapisac przekazujemy w rejestrach. Przed wywolaniem
tego przerwania wykonujemy:
asm
cli
end;
a koniec procedury obslugi przerwania sprzetowego robimy taki:
asm
sti
retf
end;
Wtedy wedlug mnie przerwanie zapisujace dane do pliku, powinno poczekac az
zakonczy sie przerwanie klawiatruy i dopiero wtedy sie wykonac. Co o tym
sadzicie?
Kowal ( kowal2_at_friko6.onet.pl )
To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 18:09:50 MET DST