Как увеличить размер часов в трэе?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 11.10.2004 (Пн) 22:25

Где ты такое сообщение нашел??

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 11.10.2004 (Пн) 22:27

Да ну? Ей адрес в своём АП даёшь, и он вызывается? :shock:
Я, как советский интеллигент, сам не пробовал, но слышал, что для этого нужны длл-ка и хуки...
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.10.2004 (Пн) 22:27

Могу только сказать, что это получалось...

Даже если не получится, мы ведь уже можем dll писать на VB :razz:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 11.10.2004 (Пн) 22:28

я уже понял, что дурак :)
поискал по WM_USER + 100 и сразу все понятно стало :)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.10.2004 (Пн) 22:30

Признавайся, где нашёл-то? Я не нашёл.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.10.2004 (Пн) 22:31

Хмм... Да, помнится, было в MSDN написано, что начиная с 2k нельзя сабклассить чужой процесс...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 11.10.2004 (Пн) 22:36

ну выт тут просто чат устроили уже :)
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 11.10.2004 (Пн) 22:38

А что, нельзя? :-))
Мы же хотим человеку помочь :-)
Изображение

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 11.10.2004 (Пн) 22:47

почему нельзя... можно... а я понаблюдаю, вы не против?
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 11.10.2004 (Пн) 22:54

Через 6 минут меня отрубят на всю ночь - "профилактика"... :(((

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.10.2004 (Пн) 23:42

Ага...
В MSDN сказано, что можно сабклассить системные классы, даже если они в другом процессе. Но при попытке сделать это получаем пятёрочку от системы безопасности.

Какие будут предложения?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 11.10.2004 (Пн) 23:45

Для начала попробовать реализовать это на асме/сях/делфи в виде хуковой длл-ки, чтобы хотя бы понять, в правильную ли мы сторону идём.

Референс тут: http://msdn.microsoft.com/library/en-us ... HookEx.asp
Нам нужен WH_CALLWNDPROC.
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.10.2004 (Пн) 23:51

Я ж говорю: пятёрочка, отказано в доступе :)

Хуки не хочу использовать именно потому, что можно сабклассить системные классы...
То ли привилегию Debug включить? :roll:

А мож и правда в хуки удариться...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 12.10.2004 (Вт) 0:00

Нет, хуки не годятся.
В Писании сказано, что хуки на сообщения позволяют только смотреть, но не менять.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 12.10.2004 (Вт) 0:20

GSerg писал(а):Хуки не хочу использовать именно потому, что можно сабклассить системные классы...

Во-первых, TrayClockWClass - не системный класс.
Во-вторых, без своей длл-ки в АП explorer-а всё равно не обойтись. Так что скорее всего, другого способа всё-таки нет... :-(

Если бы только можно было внедрить свой код в чужое АП, всё было бы вообще замечательно... Типа, перезаписать WriteProcessMemory какой-нибудь мусор своим кодом, и потом туда CreateRemoteThread... Но это всё мечты =)
Изображение

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 12.10.2004 (Вт) 15:31

Народ, плиз, киньте в личку ссылку на Spy++, а то у меня 30 дней кончились! :(

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 12.10.2004 (Вт) 16:55

Типа, на:
Вложения
SPYXX.rar
Spy++ выдранный из MSVS6
(129.05 Кб) Скачиваний: 258
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 12.10.2004 (Вт) 17:39

Спасибо, GSerg и FAKK2!

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 12.10.2004 (Вт) 17:47

Народ, чем еще можно промониторить действия Chameleon Clock (см. первый пост в теме)? :roll:

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 12.10.2004 (Вт) 17:49

Ещё ни разу не встречал софта, не поддающегося Spy++ :roll:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 12.10.2004 (Вт) 18:06

Ага, всё ясно.
Эта редиска собственного окна не имеет работает только с исходными часиками. Сабклассингует их, в частности. Легко определяется из Spy++ по адресу window proc до и после запуска :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 12.10.2004 (Вт) 18:31

И что из этого следует? :)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 12.10.2004 (Вт) 19:49

Фиг его знает...
Если у меня не получается сабклассить, как это делает она?

Хотя, всегда есть методы узнать это...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 12.10.2004 (Вт) 20:01

Очень стыдно, конечно, но... :)

Прога имеет dll для установки хука. Функция установки ищет окно Shell_TrayWnd и устанавливает на него хук WH_CALLWNDPROCRET.

А вот что делает функция обработки хука, сейчас мы установим...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 12.10.2004 (Вт) 20:24

И почему у меня таких методов нет?.. :)
Не знаю, чем закончится обсуждение, но все равно, где бы я сейчас был без этого форума! :)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 12.10.2004 (Вт) 21:06

Вот редиски :)
Какое простое и гениальное решение. Я бы не догадался, при всей его простоте и очевидности :)

Всё, пошёл переводить на VB...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 12.10.2004 (Вт) 21:51

Единственное, что могу добавить в свое оправдание (что я не дурак :)), и что забыл сказать - когда я выгрузил часы (полностью) и запустил CC, часы нарисовались вверху справа и время на них было регионом - они пытались на чем-то их нарисовать :)

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 12.10.2004 (Вт) 21:51

GSerg писал(а):Я бы не догадался, при всей его простоте и очевидности :)
GSerg писал(а):Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас
:)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 12.10.2004 (Вт) 21:59

Не, я фигею от этого кода...
Знаете, как нужно правильно находить часики?

Код: Выделить всё
GetDlgItem(GetDlgItem(FindWindow("Shell_TrayWnd",vbnullstring), &H12F&), &H12F&)



Продолжаем переводить...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 12.10.2004 (Вт) 22:02

GSerg, когда переведешь, скажи, через что ты получил то, что переводишь на VB! :)

Пред.След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 27

    TopList