Вверх ↑
Этот топик читают: Гость
Ответов: 1161
Рейтинг: 160
#1: 2009-11-11 15:56:06 ЛС | профиль | цитата
Здраствуйте, давно что-то на форуме не был
Вот возник один вопрос: как можно эмулировать окно winamp'а?
Как я понял это окно использует специальный класс (Winamp v1.x), но как этот класс задать форме в HiAsm?
карма: 0

0
Ответов: 4630
Рейтинг: 749
#2: 2009-11-11 16:01:44 ЛС | профиль | цитата
Вопрос непонятный, попробуй уточни. Если имеется в виду управление Winamp’ом, то это, по-моему, можно сделать с помощью посылки сообщений его окну.
карма: 26

0
Ответов: 273
Рейтинг: 29
#3: 2009-11-11 16:03:02 ЛС | профиль | цитата
Эмулировать для чего?
Чтоб проги, управляющие винампом управляли и твоей прогой, считая ее винампом?
Или эмулировать внешний вид и поведение окна?
Если первое - то вроде там стандарт - можно описание на сообщения окнам поискать...
А если второе - придется ручками рисовать/скриншотить(а можно тупо распаковать скин винампа - это обычный зип-файл, только переименованный в другое расширение), и вот эти картинки натягивать на свою форму...

карма: 0

0
Ответов: 1161
Рейтинг: 160
#4: 2009-11-11 16:07:29 ЛС | профиль | цитата
Netspirit писал(а):
Вопрос непонятный, попробуй уточни. Если имеется в виду управление Winamp’ом, то это, по-моему, можно сделать с помощью посылки сообщений его окну.

ну управление винампом мне не нужно в принципе. Даж где-то у меня компонент для этого валялся

tomas писал(а):
Если первое - то вроде там стандарт - можно описание на сообщения окнам поискать...

да там есть стандарт, но вот в чем дело - я не знаю как задать форме в Hiasm класс окна "Winamp v1.x" (а именно с таким классом окно числится "винамповским")
карма: 0

0
Ответов: 4630
Рейтинг: 749
#5: 2009-11-11 16:10:19 ЛС | профиль | цитата
LainX, да ты ответь, что ты сделать-то хочешь?
карма: 26

0
Ответов: 1161
Рейтинг: 160
#6: 2009-11-11 16:14:30 ЛС | профиль | цитата
Netspirit, а ну я хочу к своему проигрывателю написать некий плагин с такой возможностью
карма: 0

0
Ответов: 4630
Рейтинг: 749
#7: 2009-11-11 16:23:30 ЛС | профиль | цитата
Если ты хочешь посылать команды Winamp’у - смотри выше
Если ты хочешь, чтобы твоя программа выглядела, как Winamp - смотри выше
Если ты хочешь, чтобы твоя программа реагировала на действия пользователя в окне Winamp’а - по-моему в
хелпе должна быть информация по написанию плагинов (в виде DLL) для Winamp’а.
Можно также попытаться использовать хук окна Winamp’а для перехвата сообщений. Что ещё можно делать с Winamp’ом - не представляю.
карма: 26

0
Ответов: 273
Рейтинг: 29
#8: 2009-11-11 16:25:41 ЛС | профиль | цитата
Он наверное хочет получать те сообщения, которые посылают винампу разные проги, чтоб эти проги начали управлять и его плеером...
Это че-то с сокетами и апи связано...
карма: 0

0
Ответов: 1161
Рейтинг: 160
#9: 2009-11-11 16:29:41 ЛС | профиль | цитата
Netspirit писал(а):
Можно также попытаться использовать хук окна Winamp’а для перехвата сообщений.

а я как раз это и хАчу
tomas писал(а):
Он наверное хочет получать те сообщения, которые посылают винампу разные проги, чтоб эти проги начали управлять и его плеером...
Это че-то с сокетами и апи связано...

Нет, сокеты тут не при чем. Тут простые сообщения окну. да это скорее реализуется через WinApi, но в этом я полный ноль
карма: 0

0
Ответов: 273
Рейтинг: 29
#10: 2009-11-11 16:32:41 ЛС | профиль | цитата
http://www.codenet.ru/progr/vbasic/Winamp-Plugin.php вот как винампом управляют
Там написано, что даже есть у винампа специальное апи, описание которого можно найти на сайте винампа...
Как посылать сообщения-это просто, но вот как получать их и реагировать - не знаю...
карма: 0

0
Ответов: 4630
Рейтинг: 749
#11: 2009-11-11 16:34:13 ЛС | профиль | цитата
LainX почитай в MSDN про хуки. По-моему, там делается ДЛЛ, в ней устанавливается требуемый хук а дальше - дело техники.
Насколько я знаю, ДЛЛ нужна, чтобы твоя программа не тормозила.
карма: 26

0
Ответов: 1161
Рейтинг: 160
#12: 2009-11-11 16:37:14 ЛС | профиль | цитата
tomas писал(а):
http://www.codenet.ru/progr/vbasic/Winamp-Plugin.php вот как винампом управляют

нет, это что-то не то
tomas писал(а):
вот как получать их и реагировать - не знаю...

и я не знаю... :-D
------------ Дoбавленo в 16.39:
Netspirit писал(а):
LainX почитай в MSDN про хуки. По-моему, там делается ДЛЛ, в ней устанавливается требуемый хук а дальше - дело техники.
Насколько я знаю, ДЛЛ нужна, чтобы твоя программа не тормозила.

Ну, это, мне кажется, не подходит. Например, те же AIMP, LightAllow имеют такую возможность, но они не используют хук.

карма: 0

0
Ответов: 4630
Рейтинг: 749
#13: 2009-11-11 16:45:33 ЛС | профиль | цитата
То есть, AIMP сообщает о том, что в нем происходит? Если да, то скорее всего он просто отсылает
всем окнам сообщения, и их просто нужно обработать. Иначе, ему тоже нужен плагин.
карма: 26

0
Ответов: 1161
Рейтинг: 160
#14: 2009-11-11 16:53:05 ЛС | профиль | цитата
Netspirit писал(а):
То есть, AIMP сообщает о том, что в нем происходит?

Он сообщяет об этом, если у него это спрашивают
карма: 0

0
Ответов: 273
Рейтинг: 29
#15: 2009-11-11 17:04:21 ЛС | профиль | цитата
Как я понял задача сводится к следующему: Есть компонент SendMessage, он посылает сообщения другим окнам...
Но здесь нужен противоположный компонент - который их будет принимать и обрабатывать... И его вроде как нет?
И нужны люди, которые знают, как это сделать... Я в пролете - искал, искал и не нашел...
У компонента Aplications есть прокрутка очереди сообщений, но он их не выдает, значит это не то...
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)