Главная страница
    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
1-82285
ЮРИЙ_К
2003-09-11 10:27
2003.09.25
Как сделать недоступной закладку PageControl ?


14-82426
sashas
2003-09-08 12:31
2003.09.25
Ужас!!!


7-82507
Opryshok
2003-07-16 16:32
2003.09.25
как сделать TryIcon и Menu для TryIcon?


1-82316
WihOut Any ...
2003-09-13 20:54
2003.09.25
Как отловить клик вне модальной формы?


1-82277
Юлия
2003-09-14 08:57
2003.09.25
Работа с датой





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