Форум: "Потрепаться";
Текущий архив: 2003.08.14;
Скачать: [xml.tar.bz2];
ВнизHOOK problem s.Помогите !!! Найти похожие ветки
← →
sucer (2003-06-12 17:25) [0]Пишу hook который при запуске одной програмой(Назовем ее "A")
другой прогрммы(Назавем ее "B") сворачиваль бы "B" в панель
задач т.е SW_MINIMIZE.
Ставлю HOOK WH_CBT на все окна.
Перехватывает создание нужного мне окна и подравляю
структуру описывающую окно аналагично как и в CreateWindow.
Проблема в том что мои "Подравки" несовсем работаю
Работает измнение кординат т.е например я подправляю структуру
так что окно рисуется с точки (70,20) размером 20*20.
А мне нужно подправить style-окна.Я его тоже подправляю...
но почемуто несрабатывает...
Можеть быть надо подравлять что-то другое?
Мастера помогите решить проблему!!!
процедура HOOK:
function SysMsgProc(code : integer; wParam : word; lParam : longint) : longint; stdcall;
var
cbtcreatewnd:^CBT_CREATEWND;
begin
Result:=0;
if code=HCBT_CREATEWND then
begin
cbtcreatewnd:=pointer(lparam);
if cbtcreatewnd^.lpcs^.lpszName="APPLE" then
begin
cbtcreatewnd^.lpcs^.x:=20;
cbtcreatewnd^.lpcs^.y:=70;
cbtcreatewnd^.lpcs^.cx:=20;
cbtcreatewnd^.lpcs^.cy:=20;
cbtcreatewnd^.lpcs^.style:=WS_BORDER+WS_MINIMIZE;
//cbtcreatewnd^.lpcs^.dwExStyle:=WS_EX_LEFTSCROLLBAR ;
( cbtcreatewnd^.lpcs^.hInstance,SW_MINIMIZE) Пишу hook который при запуске одной програмой(Назовем ее "A")
другой прогрммы(Назавем ее "B") сворачиваль бы "B" в панель
задач т.е SW_MINIMIZE.
Ставлю HOOK WH_CBT на все окна.
Перехватывает создание нужного мне окна и подравляю
структуру описывающую окно аналагично как и в CreateWindow.
Проблема в том что мои "Подравки" несовсем работаю
Работает измнение кординат т.е например я подправляю структуру
так что окно рисуется с точки (70,20) размером 20*20.
А мне нужно подправить style-окна.Я его тоже подправляю...
но почемуто несрабатывает...
Можеть быть надо подравлять что-то другое?
Мастера помогите решить проблему!!!
процедура HOOK:
function SysMsgProc(code : integer; wParam : word; lParam : longint) : longint; stdcall;
var
cbtcreatewnd:^CBT_CREATEWND;
begin
Result:=0;
if code=HCBT_CREATEWND then
begin
cbtcreatewnd:=pointer(lparam);
if cbtcreatewnd^.lpcs^.lpszName="APPLE" then
begin
cbtcreatewnd^.lpcs^.x:=20;
cbtcreatewnd^.lpcs^.y:=70;
cbtcreatewnd^.lpcs^.cx:=20;
cbtcreatewnd^.lpcs^.cy:=20;
cbtcreatewnd^.lpcs^.style:=WS_BORDER+WS_MINIMIZE;
//cbtcreatewnd^.lpcs^.dwExStyle:=WS_EX_LEFTSCROLLBAR ;
ShowWindow(cbtcreatewnd^.lpcs^.hInstance,SW_MINIMIZE);
end;
end;
end;
← →
Song (2003-06-12 18:31) [1]Дело в том, что, возможно, что в момент создания окна, ещё не известны размеры. Например:
With TForm.Create(Self) Do
Begin
Left:=10;
Top:=10;
Width:=100;
Height:=100;
End;
Дак вот твой хук перехватывает момент TPanel.Create(Self), а раземеры я назначаю позже, они уже твоему хуку неизвестны.
← →
Song (2003-06-12 18:31) [2]Ну TForm, а не TPanel конечно :)
← →
sucer (2003-06-12 21:45) [3]А зачем мне размеры.Мне нужно его свернуть
← →
Morfein (2003-06-13 02:43) [4]Попробуй
cbtcreatewnd^.lpcs^.Style:=cbtcreatewnd^.lpcs^.Style or WS_MINIMIZE;
← →
sucer (2003-06-13 09:50) [5]Неработает
← →
Song (2003-06-13 11:53) [6]Дык блин ты попробуй свернуть окно на событии TForm.onCreate и не запуская TApplication.Run Ну чего получилось?
← →
sucer (2003-06-13 17:18) [7]Наверное я бы поставил эти события если бы это были
не экзешники:)
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.08.14;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c