Форум: "Система";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];
ВнизДескрипторы иконок Найти похожие ветки
← →
Настя (2001-11-08 08:38) [0]Как получить дескрипторы иконок в трее ? Помогите пожайлуста!
← →
Jul (2001-11-08 10:32) [1]может поможет ...
http://www.codenet.ru/progr/delphi/stray/
← →
Настя (2001-11-08 10:49) [2]Уже читала! Там про это нету.
← →
Voron (2001-11-08 12:04) [3]По моему у каждой отдельно взятой иконки вообще дескриптора нет.
Ими всеми вместе Systray заведует которые в памяти сидит.
А что конкретно сделать надо?
← →
Настя (2001-11-08 12:20) [4]Заменить иконку системных часов своей.
← →
Jurgen (2001-11-08 12:47) [5]Не надо...
← →
Voron (2001-11-08 12:58) [6]Отключи в винде параметр Отображать часы в Systray (как программно не знаю но уверен сделать это можно) и помещай вместо них что хочешь
← →
Настя (2001-11-08 13:07) [7]Тогда я столкнусь с двумя проблемами:
1. Если моя программа вылетает, то часы не восстановяться.
2. Нужно запихать иконку в САМЫЙ правый конец трея. Как ?
По моему лучше использовать параметр NIM_MODIFY в Shell_NotifyIcon(). Это самый правильный способ. Но для этого надо знать что именно MODIFY. Нигде не могу найти. Два дня уже веду поиски :(
← →
Voron (2001-11-08 14:18) [8]Если че нить придумаю то напишу
← →
Jurgen (2001-11-08 14:43) [9]Снова привет. Лови пример определения child"ов TrayWnd
function lpEnumFunc(h: hWnd; lParam: LParam): Bool; stdcall;
type
PhWnd = ^hWnd;
var
Buf: array[0..50] of Char;
begin
Result := True;
if (GetClassName(h, Buf, 50) <> 0) then
if (lStrCmp(Buf, "TrayNotifyWnd") = 0) then begin
PhWnd(lParam)^ := h;
Result := False;
end;
end;
procedure ...;
var
hShell, hTray: HWnd;
lpRect: TRect;
begin
hShell := FindWindow("Shell_TrayWnd", "");
EnumChildWindows(hShell, @lpEnumFunc, LongInt(@hTray));
...
PostMessage(Handle, WM_NULL, 0, 0);
end;
Удачи. Да прибудет с тобой F1.
З.Ы. Программа, кусочек которой висит выше, успешно использовалась для отлавливания нажатия мыши на иконку Internat.exe (переключатель раскладки клавиатуры)
← →
Jurgen (2001-11-08 14:45) [10]Добавка:
NIM_MODIFY используется для обновления иконки, уже загруженной в трэй (если вдруг сменился хинт или сама иконка)
← →
Jurgen (2001-11-08 14:46) [11]Опять добавка: если что - мыль
← →
Myppp (2001-11-08 20:17) [12]Хм..
во-первых часы.. это не иконка..
во-вторых... а не проще просто отрисовывать по DC систрея ???
← →
Настя (2001-11-09 07:00) [13]Спасибо! Буду разбираться и пробовать.
← →
panov (2001-11-09 09:33) [14]>Настя (08.11.01 13:07)
>Тогда я столкнусь с двумя проблемами:
>1. Если моя программа вылетает, то часы не восстановяться.
Ты столкнешся с этой проблемой в любом случае - заменяешь ты прогамму чсов в Tray или не заменяешь.
Убей Explorer и увидишь то же самое - пропадают не только часы, но и, например, отображение текущей раскладки.
Решения этой проблемы нет.
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.004 c