Главная страница
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.026 c
3-1107446707
fess
2005-02-03 19:05
2005.03.06
blob -> Query


4-1106643434
vogel
2005-01-25 11:57
2005.03.06
Как сделать чтоб прога не отображалась в панели задач


14-1108243221
AlterEgo of WondeRu
2005-02-13 00:20
2005.03.06
ЖИЗНЬ В КРЕДИТ


1-1108965031
VAV
2005-02-21 08:50
2005.03.06
EditControl


1-1108622519
lipskiy
2005-02-17 09:41
2005.03.06
Как через ShellExecute открывать каждую ссылку в новом окне?