Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.06.2008, 17:05   #1
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию Своё окно в трее

Вот здесь можно скачать часы, которые отображаються в трее вместь виндоусных. Они суют туда свою форму? Как это сделать мне?
Altera вне форума Ответить с цитированием
Старый 30.06.2008, 17:23   #2
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

А может прога как-то хендлы меняет и винда просто другой рисунок туда ставит...
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 30.06.2008, 17:25   #3
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Незнаю....
Altera вне форума Ответить с цитированием
Старый 30.06.2008, 17:28   #4
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Да, сто пудово что то с прорисовкой связано, там так же как и у раб. стола есть хэндл, надо только понять как его найти и просто в Канве попробовать рисовать твою форму.
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 30.06.2008, 17:43   #5
N!ckeL
Форумчанин
 
Регистрация: 29.03.2008
Сообщений: 300
По умолчанию

Код:
var
  h:HWND;
  f:TForm;
begin
  h:=FindWindow('Shell_TrayWnd', nil);
  h:=FindWindowEx(h, HWND(0), 'TrayNotifyWnd', nil);
  f:=TForm.Create(nil);
  f.ParentWindow:=h;
  f.BorderStyle:=bsNone;
  f.Width:=50;
  f.Height:=25;
  f.Color:=clRed;
  f.Show;
end;
осталось только часики на форме нарисовать...
Карп преодолевший водопад становится драконом.
N!ckeL вне форума Ответить с цитированием
Старый 30.06.2008, 20:18   #6
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Почти то, что надо N!ckel, мне надо, что бы форма вместо часов была, а не закрывала все значки треи.
Норм:

С часами:
Altera вне форума Ответить с цитированием
Старый 01.07.2008, 23:30   #7
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Я думаю надо работать с полученным хендлом того места и увеличить пространство под форму.
Дык, а что... взломай прогу и узнай как она работает.....
вот
http://www.programmersforum.ru/showthread.php?t=20278
мою высокоуровневую защиту сняли assembler-ом
Всё гениальное - просто!

Последний раз редактировалось Air; 01.07.2008 в 23:34.
Air вне форума Ответить с цитированием
Старый 02.07.2008, 02:20   #8
Showy
Форумчанин Подтвердите свой е-майл
 
Аватар для Showy
 
Регистрация: 08.08.2007
Сообщений: 183
По умолчанию

Можно попробовать так, но это не совсем правильно потому что не меняется позиция языковой панели и всего остального.
Код:
var
  h, clockHwnd:HWND;
  f: TForm;
  r :TRect;
begin
  h := FindWindow('Shell_TrayWnd', nil);
  h := FindWindowEx(h, HWND(0), 'TrayNotifyWnd', nil);
  ClockHwnd := FindWindowEx(h, HWND(0), 'trayclockwclass', nil);
  ShowWindow(ClockHwnd, SW_HIDE); //прячем стандартные часы
  f:=TForm.Create(nil);
  f.ParentWindow := h;
  f.BorderStyle:=bsNone;
  f.Width := 100; 
  f.Height := 50; //размеры для панели задач высотой в 60 пикселей
  GetWindowRect(h, r);
  SetWindowPos(h, 0 ,r.Left - f.Width, 0, r.Right - r.Left + f.Width, r.Bottom - r.Top,0); //устанавливаем размер и позицию трею
  SetWindowPos(f.Handle,0 ,r.Right - r.Left, 5, f.Width - 10, f.Height,0);//устанавливаем размер и позицию нашей форме
  f.Color:=clRed;
  f.Show;
Until The End Of Time

Последний раз редактировалось Showy; 02.07.2008 в 02:24.
Showy вне форума Ответить с цитированием
Старый 02.07.2008, 07:00   #9
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Цитата:
Сообщение от Air Посмотреть сообщение
Я думаю надо работать с полученным хендлом того места и увеличить пространство под форму.
Дык, а что... взломай прогу и узнай как она работает.....
вот
http://www.programmersforum.ru/showthread.php?t=20278
мою высокоуровневую защиту сняли assembler-ом
Незнаю ассемблера
Altera вне форума Ответить с цитированием
Старый 02.07.2008, 07:01   #10
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Может как-то управлять формой часами, научите, я не умею...
Altera вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить своё имя? Манжосов Денис :) О форуме и сайтах клуба 11 22.07.2008 11:16
Иконка в трее* Krow Win Api 5 20.07.2008 02:41
своё PopupMenu1 на WebBrowser1 beegl Компоненты Delphi 9 12.06.2008 12:20
Программа в Трее LeoN Общие вопросы Delphi 5 08.12.2007 13:09
«Окно+символ». Создать класс, представляющий окно в текстовом режиме. RustreX Паскаль, Turbo Pascal, PascalABC.NET 1 11.11.2007 19:28