Форум: "WinAPI";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];
ВнизОпределение 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 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.033 c