Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.13;
Скачать: CL | DM;

Вниз

WH_SHELL   Найти похожие ветки 

 
наблюдатель   (2003-09-01 18:12) [0]

Здрассе люди. У меня такая трабл. Никто не знает как заставить окно сворачиваться туда, куда мне надо? Почитал про HSHELL_GETMINRECT но нифига не понял! Может кто объяснит чайнику как в LParam воткнуть адрес RECT, если это вообще надо делать.


 
jonni ©   (2003-09-01 21:57) [1]

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.....


 
наблюдатель   (2003-09-01 22:50) [2]

Это конечно всё весело, но как в LParam забить этот поинтер? Я просто не очень ещё в Delphi, а особенно с типами.


 
jonni ©   (2003-09-02 14:00) [3]

myVariable:PSHELLHOOKINFO;

myVariable:=PSHELLHOOKINFO(lParam);

i delay chto hochehs uzhe s myVariable.....


 
VMcL ©   (2003-09-02 14:35) [4]

>наблюдатель (01.09.03 22:50) [2]
>Это конечно всё весело, но как в LParam забить этот поинтер? Я просто не очень ещё в Delphi, а особенно с типами

Тогда лучше не стоит пока с хуками.


 
наблюдатель   (2003-09-02 14:46) [5]

> jonni
Блин, можешь меня повесить, но я всё-же не могу догнать, как LParam присвоить поинтер на эту структуру.

> VMcL
Дело в том, что мне поставили такую задачу в универе, поэтому надо разбираться быстро.


 
jonni ©   (2003-09-02 14:56) [6]

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.....


 
DVM ©   (2003-09-02 15:33) [7]

Следующий вопрос будет про то, что такое PSHELLHOOKINFO?

Я тоже сомневаюсь, что в университете такие задачи дают.
Это вообще недокументировано было до недавнего времени.


 
наблюдатель   (2003-09-02 17:20) [8]

> 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;

Где здесь ошибка я понять не могу!


 
jonni ©   (2003-09-02 17:27) [9]

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:30) [10]

> jonni
Сейчас нет, сейчас у меня WinXP, и сейчас я использую RegisterShellHook, после jonni © (01.09.03 21:57) [1]. Все сообщения ловятся нормально, кроме этого HSHELL_GETMINRECT. В смысле и оно ловится, но только толку от этого мало.


 
jonni ©   (2003-09-02 17:36) [11]

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:43) [12]

Ну спасибо хотя бы на этом! Будем думать дальше.


 
DVM ©   (2003-09-03 10:40) [13]


> наблюдатель

Пиши на мыло получишь пример где это все работает в любых виндах.


 
Игорь Шевченко ©   (2003-09-03 11:28) [14]

SetWindowPlacement не поможет ?


 
jonni ©   (2003-09-03 14:00) [15]

to Игорь Шевченко
net ne pomozhet k sozhaleniyu :(


 
наблюдатель   (2003-09-03 17:54) [16]

>Игорь Шевченко
А чем? Ведь мне надо было сделать так, чтобы анимация окон изменилась, если можно так выразиться.
Но теперь я разобрался, спасибо DVM.



Страницы: 1 вся ветка

Текущий архив: 2003.11.13;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.023 c
4-42252
Вован
2003-09-15 17:32
2003.11.13
Как заставить свою прогу закрыться при shutdown e Windows?


3-40878
Vladislav
2003-10-20 17:51
2003.11.13
MemoryTable в Interbase


3-41079
GaM
2003-10-13 18:18
2003.11.13
Прошу простого совета


1-41171
Mishenka
2003-11-02 17:51
2003.11.13
Как при создании исключения передать код ошибки?


9-40763
higor
2003-05-05 07:54
2003.11.13
Изменение разрешения экрана в Delphi