Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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
14-45089
Иксик
2003-06-14 14:47
2003.08.14
WM_LBUTTONUP


14-45037
shark
2003-07-28 13:33
2003.08.14
Сокеты


14-45046
Shluz
2003-07-26 19:52
2003.08.14
Системный вопрос


14-45052
OlegID
2003-07-28 08:51
2003.08.14
ActivX?


14-44973
Delf
2003-07-26 15:42
2003.08.14
Оптимальный раскрой(упаковка)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский