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

Определение Caption окна?   Найти похожие ветки 

 
Roman777   (2005-01-19 10:22) [0]

Здравствуйте!
Есть ловушка на окна, возникает проблема при определении Caption окна.
Код функции:

function WndHookProc(Code: integer; wParam: Word; lParam: Longint): Longint; stdcall;
var
 ClassName: array[0..255] of Char;
 WindowText: array[0..255] of Char;
 ClassNameStr, WindowTextStr: string;
 pCBT: PCBTCreateWnd;

begin
 Result := 0;
 if Code >= 0 then
 begin
   case Code of
     HCBT_CREATEWND:
       begin
         pCBT := PCBTCreateWnd(lParam);
         if (pCBT <> nil) and (pCBT^.lpcs <> nil) then
           WindowTextStr := pCBT^.lpcs^.lpszName; { при Create окна, можно определить Caption по этой структуре GetWindowText не подходит }
         //GetWindowText(wParam, WindowText, 255);
         //WindowTextStr := string(CurBasicWindowText);
       end;
   end;
   Result := CallNextHookEx(GlobalData^.SysHook, Code, wParam, lParam);
 end
 else if Code < 0 then
   Result := CallNextHookEx(GlobalData^.SysHook, Code, wParam, lParam);
end;

для окон процесса из которого идет обращение к DLL(где ловушка), все отрабатывает нормально, но для окон из других процессов возвращается ерунда(бессвязный набор символов).
В чем причина?
Заранее всем спасибо.


 
Eraser ©   (2005-01-19 13:42) [1]

Roman777
Вообще кривовато у тебя это всё оформлено...
В описании этого типа ловушки ясно написано, что wParam "Specifies the handle to the new window".
Обращение к  PCBTCreateWnd вообще убери- ты его не используешь.

CallNextHookEx(GlobalData^.SysHook, Code, wParam, lParam);
-вот это вызывает сомнения...

Ипроверь как ты выделеяешь память под строки.



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

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



Память: 0.45 MB
Время: 0.034 c
11-1092569743
SSSSS
2004-08-15 15:35
2005.03.06
DLL в KOLe??? Очень надо!


9-1100945825
maxistent
2004-11-20 13:17
2005.03.06
"столкновение"


1-1109098654
Breakmaster
2005-02-22 21:57
2005.03.06
virtual key code


4-1106134030
Cosinus
2005-01-19 14:27
2005.03.06
Никак не пойму, в чем проблемма... Keyboard_Hook &amp; SendMessage


3-1107256827
atruhin
2005-02-01 14:20
2005.03.06
Чем можно выполнить SQL скрипт под IB5.6 из коммандной строки




   Наверх