Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.06;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.052 c
1-1109098654
Breakmaster
2005-02-22 21:57
2005.03.06
virtual key code


14-1108307294
Flext@r
2005-02-13 18:08
2005.03.06
Подскажите, как сохранить интерне-страницу на хард!


1-1109057988
Леха
2005-02-22 10:39
2005.03.06
Как изменить системную дату


6-1102687543
Geraldino
2004-12-10 17:05
2005.03.06
CGI в Delphi преобразовать для использования в UNIX


3-1107421267
kyn66
2005-02-03 12:01
2005.03.06
Создать таблицу DBase, чтобы понимал Foxpro