Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Windows Clock Добавлено: 21.08.05 10:49  

Автор вопроса:  Black Dragon | Web-сайт: в разработке | ICQ: 321186096 
У часов (которые в Taskbar'е сидят) определенная длина/ширина. А можно ли программно "расширисть" этот rect?

Ответить

  Ответы Всего ответов: 13  

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 21.08.05 15:23
Когда-то давно была сказка про добавление текста к часам. Значит в ней было так:

Часы
Украшаем часы. Идем в раздел
HKEY_CURRENT_USER\Control Panel\International и создаем строковый параметр sTimeFormat. Присвойте этому параметру слово, не превышающее 8 символом (свою фамилию), и оно отобразится вместо часов. Если вы не готовы к такому радикальному изменению, то предлагаю более мягкий вариант. В указанный параметр пишите "HH:mm Рыжик". В этом случае будет показываться и время и имя вашего любимого кота. Кстати, вместо стандартного разделителся -двоеточия (:) можете использовать и другие символы, например звездочку(*) или вообще обойтись без разделителя. Заодно можете поменять и формат - сначала минуты, потом часы - mm*HH

Можно применить и другой интересный эффект. В этом же разделе создаем еще два строковых параметра - s1159 и s2359 и присваиваем им слова, напр. Еще не вечер и Утро вечера мудреней. А в уже знакомом параметре sTimeFormat пишем HH:mm:ss tt (по-прежнему можно использовать другой разделитель). Теперь в утренние часы рядом с часиками будет надпись Еще не вечер, а с 12 до 24 часов соответственно Утро вечера мудреней

Данные изменения вступят после перезагрузки

Примечание: Данные изменения могут проявится и в других местах. Например, в Outlook Express при получении и отправке писем



ну т.е. если дописать туда чё-то то и rect расширится...

Ответить

Номер ответа: 2
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #2 Добавлено: 21.08.05 16:04
Как-то мы часы растягивали, да...

Фишка в том, что таскбар присылает часам сообщение WM_USER + 100, что для часов является неким аналогом WM_GETMINMAXINFO. Задача в том, чтобы перехватить это сообщение и ответить своими числами вместо того, что пишут часы.
Проблема, разумеется, в том, что сабклассить чужое адресное пространство напрямую нельзя. Приходилось внедрять свой код в адресное пространство таскбара через хук WH_WNDPROCRET.
В общем, не стоит оно всей этой возни.

Ответить

Номер ответа: 3
Автор ответа:
 Black Dragon



ICQ: 321186096 

Вопросов: 30
Ответов: 347
 Web-сайт: в разработке
 Профиль | | #3
Добавлено: 21.08.05 17:18
2 HACKER: это интересно, но жаль работает только после перезагрузки компа :(

2 GSerg: я думаю, должен быть какой-нибудь легкий способ. Знаю прогу, она расширяет часы при загрузке, а когда выгружаешь - ставит все на место. Могу ссылку кинуть - скриншоты есть.

Ответить

Номер ответа: 4
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #4 Добавлено: 21.08.05 18:36
Chameleon clock?

Она поступает именно так, как я описал.
Собственно, её-то мы и дизасмили...

Ответить

Номер ответа: 5
Автор ответа:
 Black Dragon



ICQ: 321186096 

Вопросов: 30
Ответов: 347
 Web-сайт: в разработке
 Профиль | | #5
Добавлено: 21.08.05 19:48
Clock Tray Skins

А кода нет?

Ответить

Номер ответа: 6
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #6 Добавлено: 22.08.05 00:10
а толку с того кода на асме? Не ну конечно для кого как... Слушай, а может получится как нибуть без перезагрузки? Может такс обновить, в конце концов весь эксплорер перезапустить! неужели он при перезапуске не перечитает с реестра...

Ответить

Номер ответа: 7
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #7 Добавлено: 22.08.05 04:01
а толку с того кода на асме?

Просто чтобы понять, как это вообще в принципе делается.
После того, как понял, пишешь аналогичное на любом языке. Я тебе описал как.

Ответить

Номер ответа: 8
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #8 Добавлено: 22.08.05 15:03
да, я не спорю, просто ассемблер я незнаю, как впрочем и Black Dragon, поэтому нам тот код что дезассемблируется непоможет :) Вот я и предлагаю другие способы которые проще

Ответить

Номер ответа: 9
Автор ответа:
 Black Dragon



ICQ: 321186096 

Вопросов: 30
Ответов: 347
 Web-сайт: в разработке
 Профиль | | #9
Добавлено: 22.08.05 20:13
HACKER за меня ответил :)

Ответить

Номер ответа: 10
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #10 Добавлено: 23.08.05 04:19
Способы, которые проще, либо дают не тот результат, либо работают не на всех виндах, либо приводят к BSOD'ам время от времени.

Ответить

Номер ответа: 11
Автор ответа:
 Black Dragon



ICQ: 321186096 

Вопросов: 30
Ответов: 347
 Web-сайт: в разработке
 Профиль | | #11
Добавлено: 23.08.05 20:31
2 Serg: а может у тебя остался код с хуком?

Ответить

Номер ответа: 12
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #12 Добавлено: 24.08.05 04:37
http://bbs.vbstreets.ru/viewtopic.php?p=71927#71927

Это последняя страница, можешь всё прочитать.

Ответить

Номер ответа: 13
Автор ответа:
 Black Dragon



ICQ: 321186096 

Вопросов: 30
Ответов: 347
 Web-сайт: в разработке
 Профиль | | #13
Добавлено: 25.08.05 20:30
М-да, а может, это действительно того не стоит!? :)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам