Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2003.09.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "KOL";
Текущий архив: 2003.09.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.011 c
4-82542
xZero
2003-07-23 23:28
2003.09.25
.LNK файлы


1-82225
-=[SDA]=-
2003-09-12 11:20
2003.09.25
Как узнать имя картинки (файла) в BitBtn?


1-82201
karl21
2003-09-12 16:02
2003.09.25
Перестали запускться проги


14-82473
Ghost
2003-09-06 07:03
2003.09.25
Есть заказ для програмёров которые хотят заработать немного дене


6-82362
borg
2003-07-28 07:47
2003.09.25
компонент NMsmtp





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский