Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.25;
Скачать: CL | DM;

Вниз

Проблеммы   Найти похожие ветки 

 
XsID   (2003-01-21 03:45) [0]

Нужна помощь!

В VCL работало, а вот в KOL не работает. Ставлю хук и он посылает программе мэссэдж которая затем его обрабатывает. Как я понял когда выполняется процедура processDll возникает ошибка (run time error).

uses
windows,messages,kol;
{$R *.res}
function Key_Hook(code:integer;wparam:word;lparam:longint):longint;stdcall;
external "Project2" name "key_hook";
procedure UnHook;stdcall;
external "Project2" name "UnHook";
procedure sethook;
external "Project2" name "sethook";

const
num:array[1..10] of char =
(")","!","@","#","$","%","^","&","*","(");
num1:array[1..14] of char =
(";","=",",","-",".","/","`",":","+","<","_",">","?","~");
num2:array[1..8] of char =
("[","\","]","""","{","|","}",""");
wm_key=wm_user+133;
var
form,but1,but2,lab:Pcontrol;
-------------------------------------------------------
function processDll(var m:TMsg;var Res:integer):boolean;
var s:string;
begin
if m.message = wm_key then begin
if m.WParam in [96..105] then m.WParam:=m.WParam-48;
case m.WParam of
8:begin
s:=lab.caption;
delete(s,length(s),1);
lab.Caption:=s;
end;
9:lab.caption:=lab.caption +" [tab] " ;
else
if getAsyncKeyState(16)<>0 then begin
if m.WParam in [48..57] then lab.Caption:= lab.Caption + num[m.WParam-47] else
if m.WParam in [219..222] then lab.Caption:= lab.Caption + num2[m.WParam-214] else
if m.WParam in [186..192] then lab.Caption:= lab.Caption + num1[m.WParam-178] else
lab.Caption:=lab.Caption + chr(m.wparam);
end
else
if m.WParam in [186..192] then lab.Caption:=lab.Caption+num1[m.wparam-185] else
if m.WParam in [219..222] then lab.Caption:= lab.Caption + num2[m.WParam-218] else
lab.Caption:=lab.Caption + lowercase(chr(m.wparam));
end;
end;
end;
-----------------------------------------------------------------
begin
applet:=newapplet("Key Hook");
form:=newform(applet,"Main");
form.Style:=ws_border or ws_sysmenu or ws_minimizebox or ws_visible;
form.SetSize(400,340);
form.OnMessage:=TOnMessage(MakeMethod(nil,@processDll));
---------------------------------------------------------------------
run(applet);
end.



 
Kladov   (2003-01-21 20:38) [1]

не хватает первого параметра Dummy: Pointer. См. faq на этом сайте.



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

Текущий архив: 2003.09.25;
Скачать: CL | DM;

Наверх




Память: 0.44 MB
Время: 0.009 c
7-82509
Sashko
2003-07-14 16:02
2003.09.25
Доступ к CD-ROM


1-82276
wdsergius
2003-09-15 11:15
2003.09.25
Как в TreeView - программно установить маркер на любой элемент???


14-82420
NailMan
2003-09-08 19:13
2003.09.25
Kreed и как оно себе на уме


14-82437
vidiv
2003-09-08 07:00
2003.09.25
где взять php_gd.dll с подержкой gif и для PHP4.3.2 ?


14-82449
Miwa
2003-09-07 16:31
2003.09.25
Лицензирование прокладки LAN - что за фигня?!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский