Вниз
Скачать: CL | DM;

Дельфийский ассемблер   Найти похожие ветки 

 
microcomp ©   (2005-05-19 15:14) [0]

Ув. Как из дельфийского асма корректно вызвать виндовую функцию (покажите пример) в частности - вот код для чистого ассемблера:

.loopbegin:
;... делаем какието операции ...
memcall _GetAsyncKeyState,VK_ESCAPE
test eax,eax
jz .loopbegin
;... делаем выход....

Делает этот кусок кода простую вещь - проверяет нажата ли клавиша "Esc". Если да, выходим из цикла.


 
Marser ©   (2005-05-19 15:24) [1]

Толкаем (push) в стек все параметры в соответствии с stdcall-соглашением и вызываем подпрограмму с помощью call ptr


 
begin...end ©   (2005-05-19 17:19) [2]

> microcomp ©   (19.05.05 15:14)

asm
   PUSH  VK_ESCAPE
   CALL  GetAsyncKeyState
   TEST  EAX, EAX
   JZ    @@up
   // клавиша нажата
   ...
@@up:
   // клавиша не нажата
   ...
end.


 
microcomp ©   (2005-05-19 17:33) [3]

begin...end >
CALL  GetAsyncKeyState - Ошибка
Что-то где-то нужно объявить.
Вот собственно и спрашиваю...


 
begin...end ©   (2005-05-19 17:36) [4]

> microcomp ©   (19.05.05 17:33) [3]

Добавить в список uses модуль Windows?


 
Digitman ©   (2005-05-19 18:04) [5]


> CALL  GetAsyncKeyState - Ошибка


CALL  Windows.GetAsyncKeyState



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
1-1116926448
SergP.
2005-05-24 13:20
2005.06.06
Выравнивание в TEdit


14-1116528383
SPeller
2005-05-19 22:46
2005.06.06
Веселое сообщение от IE


4-1113437294
Hecker
2005-04-14 04:08
2005.06.06
Подскажите как отследить ПЕЧАТЬ из любой программы в Винде?


1-1116506572
Cat
2005-05-19 16:42
2005.06.06
строку по одной цифре раскидать в массив Integer


4-1113325359
DeScriptor
2005-04-12 21:02
2005.06.06
Выбор одной из одинаковых компонент




   Наверх