Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Иконка в SysTray не создавая своих окон. [D7, WinXP]


Страницы:   1 2 3

Ascan ©   (2005-04-11 14:36:00) 

Если в моей программе Object Pascalнет ниодного окна, то могу ли кинуть иконку в SysTray и обрабатывать по не события?
Иконку кидать получается, но при наведении на нее мышкой иконка пропадает. Возможно, идет проверка на существование окна, описанное при вызове Shell_NotifyIcon...


mgcr   (2005-04-18 15:06:00) [1]

Piter ©   (18.04.05 14:54) [50]

Открой http://msdn.microsoft.com, набери в строке поиска HWND_DESKTOP и читай статьи по результатам поиска. И будет тебе счастье.


Piter   (2005-04-18 14:54:00) [2]

mgcr ©   (18.04.05 11:20) [46]
Читай вместе с Piter'ом Platform SDK


ну уж коли ты знаешь где читать, может линк кинешь?


Игорь Шевченко   (2005-04-18 12:31:00) [3]

Размерами меряемся в Потрепаловке


alpet   (2005-04-18 12:25:00) [4]

Например у меня размер файла резко увеличивается (до 135Кб) при добавлении модуля Classes или использующих его модулей VCL. Так что его лучше не использовать.


alpet   (2005-04-18 12:22:00) [5]

jobo ©   (16.04.05 02:45) [41]

Создай заготовку - фaйл test.dpr с текстом:

begin
end.

И скомпилируй его в delphi (из коммандной строки - dcc32 test.dpr).
Размер получившегося test.exe должен быть 8Кб. Если будет больше - видно компилятор слишком много лишнего добавляет - добудь dcc32.exe версии  6.1 (6.0).  Потом добавляй юниты и код, и смотри на каком файле размер exe-шника резко увеличится.


mgcr   (2005-04-18 11:20:00) [6]

Eraser ©   (16.04.05 15:06) [44]

Ерунду не пиши, договорились ?

Читай вместе с Piter'ом Platform SDK.


Eraser   (2005-04-16 15:08:00) [7]

Ascan

Что мешает использовать старую-добрую API CreateWindow? зачем изощьрятся с разными "полу-API" ф-ми?


Eraser   (2005-04-16 15:06:00) [8]

mgcr ©

Piter -> есть гарантии, что так и будет в следующих версиях Windows?

Есть.


Как раз таки гарантий мало... не факт что 1 рабочий стол так будет всегда 1... честно говоря я ожидал, что в Longhorn'e сделают несколько раб. столов... как в линухе.


Eraser   (2005-04-16 15:01:00) [9]

Piter ©
Ты не прав. Рабочий стол - это GetDesktopWindow.


Ты прав. Но всё таки очень часто 0 - это рабочий стол...


GuAV   (2005-04-16 14:38:00) [10]


>  Иконка в SysTray не создавая своих окон.

Лёгко. Регистрируешь своё сообщение, берёшь превое попавшееся окно, субкласишь его, в оконной процедуре ловишь своё сообщение, его же задаёшь в uCallbackMessage.

:-)


jobo   (2005-04-16 02:45:00) [11]

Use Debug DCUs у меня ваще никогда не включался.
пример [24] откомпилированый на Д7 - 87 кб (с $D- тоже самое)
с включеной Use Debug DCUs - 93 кб
как вы ваще умудрились exeшник сделать 9 кб? у мненя самое мальнкое кот былло 15-17 кб (не консольные)


VMcL   (2005-04-14 19:29:00) [12]

>> alpet ©   (14.04.05 19:21) [39]

> флажок "Use Debug DCUs"

Это влияет, причём доволно значительно. Согласен - забыл.


alpet   (2005-04-14 19:21:00) [13]

Влияет, хотя и довольно слабо.
Точнее влияние на размер оказывает какая версия VCL используется - отладочная или обычная (флажок "Use Debug DCUs")
Вот например достаточно сложный мой проект (VCL) с отключенной опцией информацией весит 1188352 байт, а с включенной 1296896 байт.
----------------------------------------------------------------
Для приведеннего примера и в самом деле никакок влияния эти опции не имеют.


VMcL   (2005-04-14 19:03:00) [14]

>> alpet ©   (14.04.05 18:21) [37]

> 1. Надо компилить без отладочной информации. Например для этого можно добавить директиву {$D-} в начале программы, или в настройках проекта (вызывается по Ctrl-Shift) на вкладке Compiler поснимать все флажки в разделе Debugging

Не городите чушь. На размер бинарника это не влияет. Единственное, связанное с отладочной информацией, что влияет на его размер - это Project Options | Linker | Include TD32 debug info


alpet   (2005-04-14 18:21:00) [15]

> на Д7 получается 85 кб, может настройки какие поменять нада?
1. Надо компилить без отладочной информации. Например для этого можно добавить директиву {$D-} в начале программы, или в настройках проекта (вызывается по Ctrl-Shift) на вкладке Compiler поснимать все флажки в разделе Debugging.
2. Убрать все модули из uses которые не используются в программе.


mgcr   (2005-04-14 18:18:00) [16]

Piter ©   (14.04.05 18:13) [35]

MS конечно. Читай Platform SDK.


Piter   (2005-04-14 18:13:00) [17]

mgcr ©   (14.04.05 10:58) [32]
Есть.


кто об этом сказал?


jobo   (2005-04-14 15:05:00) [18]

2alpet:

на Д7 получается 85 кб, может настройки какие поменять нада?


alpet   (2005-04-14 11:16:00) [19]

jobo ©   (13.04.05 18:26) [30]
> только скажи как ты экзешник в 9 кб получил?

Скомпилировал весь пример в Delphi 6 (в седьмой должен быть такой же результат). Кстати если его запаковать UPX - будет 6Кб. На ассемблере подобный пример можно наверное и в 2кб уместить, только стоит ли стараться.


mgcr   (2005-04-14 10:58:00) [20]

Piter ©   (13.04.05 18:37) [31]


> есть гарантии, что так и будет в следующих версиях Windows?


Есть.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо