Вниз
Скачать: 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.023 c
1-1109150078
Object
2005-02-23 12:14
2005.03.06
Картинки в ListBox


14-1108369076
olookin
2005-02-14 11:17
2005.03.06
Пожалуйста, посоветуйте наушники...


8-1100845847
_alex_
2004-11-19 09:30
2005.03.06
Как определить область многоугольника


1-1109084226
Vyacheslav
2005-02-22 17:57
2005.03.06
Имя Закладки в Excel


14-1108390461
Kubic
2005-02-14 17:14
2005.03.06
подскажите компанент




   Наверх