![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
WH_SHELL [D6, WinXP]
наблюдатель © (2003-09-01 18:12:00)
Здрассе люди. У меня такая трабл. Никто не знает как заставить окно сворачиваться туда, куда мне надо? Почитал про HSHELL_GETMINRECT но нифига не понял! Может кто объяснит чайнику как в LParam воткнуть адрес RECT, если это вообще надо делать.
наблюдатель (2003-09-03 17:54:00) [1]
>Игорь Шевченко
А чем? Ведь мне надо было сделать так, чтобы анимация окон изменилась, если можно так выразиться.
Но теперь я разобрался, спасибо DVM.
jonni (2003-09-03 14:00:00) [2]
to Игорь Шевченко
net ne pomozhet k sozhaleniyu :(
Игорь Шевченко (2003-09-03 11:28:00) [3]
SetWindowPlacement не поможет ?
DVM (2003-09-03 10:40:00) [4]
> наблюдатель
Пиши на мыло получишь пример где это все работает в любых виндах.
наблюдатель (2003-09-02 17:43:00) [5]
Ну спасибо хотя бы на этом! Будем думать дальше.
jonni (2003-09-02 17:36:00) [6]
ya o tom i skazal !!! ya zhe skazal chto veroyatno u tebya ne win9x... mi s DVM s etim uzhe borolis"....
tak kak ti napisal rabotaet toka w win9x inogda... nado dobavit" koe chego elsi hochesh chto bi rabotalo vo vseh windax...
ya k sozhalenyu bol"she skzat" ne mogu tak kak "DVM copyright"
наблюдатель (2003-09-02 17:30:00) [7]
> jonni
Сейчас нет, сейчас у меня WinXP, и сейчас я использую RegisterShellHook, после jonni © (01.09.03 21:57) [1]. Все сообщения ловятся нормально, кроме этого HSHELL_GETMINRECT. В смысле и оно ловится, но только толку от этого мало.
jonni (2003-09-02 17:27:00) [8]
u tebya navernoe wind sovsem ne win9x.......
tak kak ti napisal rabotat" budet naverno esli povezet toka na win9x.... prohodili mi eto......
наблюдатель (2003-09-02 17:20:00) [9]
> jonni
Так я до этого думал, что надо в LParam загнать поинтер, а оказывается надо изменять там, куда он сам (LParam) указывает. Теперь понятно! Но всё равно не работает. Окно при мнинимизации просто исчезает.
> DVM
> jonni
Вообще-то я и не думал использовать RegisterShellHook, а ставил просто WH_SHELL, поэтому мне и надо было поинтер на RECT туда загнать (см. сабж). А в универе не дают задачки, типа написать SHELL используя только RegisterShellHook. У меня что-то типа курсовой, которую мне надобыло сдать ещё в прошлом семестре.
Вообщем так или иначе вот код:
.....
type
PSHELLHOOKINFO = ^TSHELLHOOKINFO;
TSHELLHOOKINFO = packed record
WindowHandle : HWND;
TopLeft : TSmallPoint;
BottomRight : TSmallPoint;
end;
.....
var ps:tsmallpoint;
.....
HSHELL_GETMINRECT:
begin
ps.x:=0;
ps.y:=0;
pshellhookinfo (lparam).TopLeft:=ps;
ps.x:=100;
ps.y:=20;
pshellhookinfo (lparam).BottomRight:=ps;
end;
Где здесь ошибка я понять не могу!
DVM (2003-09-02 15:33:00) [10]
Следующий вопрос будет про то, что такое PSHELLHOOKINFO?
Я тоже сомневаюсь, что в университете такие задачи дают.
Это вообще недокументировано было до недавнего времени.
jonni (2003-09-02 14:56:00) [11]
blin nu a chto tut ne ponyatnogo to???
case wparam of
HSHELL_GETMINRECT:
begin
PSHELLHOOKINFO(lparam).Tochto_hochesh_menyaesh:=To_chto nado;
end;
end;
vot i vse dela to......
to наблюдатель: tebe v inivere takuyu zadachu dali??? s trudom verit"sya.....
наблюдатель (2003-09-02 14:46:00) [12]
> jonni
Блин, можешь меня повесить, но я всё-же не могу догнать, как LParam присвоить поинтер на эту структуру.
> VMcL
Дело в том, что мне поставили такую задачу в универе, поэтому надо разбираться быстро.
VMcL (2003-09-02 14:35:00) [13]
>наблюдатель (01.09.03 22:50) [2]
>Это конечно всё весело, но как в LParam забить этот поинтер? Я просто не очень ещё в Delphi, а особенно с типами
Тогда лучше не стоит пока с хуками.
jonni (2003-09-02 14:00:00) [14]
myVariable:PSHELLHOOKINFO;
myVariable:=PSHELLHOOKINFO(lParam);
i delay chto hochehs uzhe s myVariable.....
наблюдатель (2003-09-01 22:50:00) [15]
Это конечно всё весело, но как в LParam забить этот поинтер? Я просто не очень ещё в Delphi, а особенно с типами.
jonni (2003-09-01 21:57:00) [16]
vo pervih ne rect a vo vtorih chitay MSDN :)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/hooks/hookreference/hookfunction s/registershellhookwindow.asp
zdes" napisano pro structuru kotoroy nado prisvaivat" novie znacheniya.....