Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

сообщения [D7, WinXP]


NioBium ©   (2005-08-20 22:04:00) 

Люди, помогите мне плз.

Всем известен nnCron, но на всякий случай я расскажу - это мощнейший планировщик поддерживающий программироваине задач на языке Форт. Я хочу написать прожку-диалер которая основывалась на Кроне. То есть все хоткеи, расписание итд - все проходит через крон, а Статистику итд ведет эта моя прожка. Крон может отправлять произвольные сообщения (в качестве параметра записывается число). Мне же необходимо получать эти сообщения. Я полный профан в WinAPI, помогите мне кто может.


NioBium   (2005-08-21 12:25:00) [1]

Честно говоря я и сам этого механизма не понимаю, пытаюсь выяснить но автор не отвечает =(

Вот листинг плагина для контроля винампом

\ File:         winamp.spf
\ Date:         28.01.2004
\ Author:       Nicholas Nemtsev, Valery Kondakoff
\ Description:  Additional words to control WinAmp 2.xx, 5.xx (play, pause,
\               stop, vol-up, vol-down, next-track, previous-track etc).
\               You can use these words in your tasks or assign keyboard
\               hotkeys to any of them.

\ New words:    WINAMP-UP-VOLUME
\               WINAMP-DOWN-VOLUME
\               WINAMP-PLAY
\               WINAMP-PAUSE
\               WINAMP-STOP
\               WINAMP-CLOSE
\               WINAMP-FF
\               WINAMP-FR
\               WINAMP-NEXT-TRACK
\               WINAMP-PREVIOUS-TRACK
\               WINAMP-TOGGLE-SHUFFLE
\               WINAMP-TOGGLE-REPEAT

0 [IF]   \ this is a comment string

Examples:
#( test_winamp_play
WatchHotKey: "^@{F5}"
Action:
   WINAMP-PLAY
)#

#( test_winamp_next_track
WatchHotKey: "^@{PGDN}"
Action:
  WINAMP-NEXT-TRACK
)#

#( test_winamp_down_volume
MonitorResponseTime
10 TO MonitorResponseTime
WatchHotKey: "^@{DOWN}"
TO MonitorResponseTime
Action:
  WINAMP-DOWN-VOLUME
)#

#( test_winamp_ff
MonitorResponseTime
100 TO MonitorResponseTime
WatchHotKey: "^@{RIGHT}"
TO MonitorResponseTime
Action:
   WINAMP-FF
)#

#( test_winamp_toggle_shuffle
WatchHotKey: "^@s"
Action:
   WINAMP-TOGGLE-SHUFFLE
)#

[THEN]   \ this is a comment string

: WINAMP-OP { msg cnt -- }
   WIN-EXIST: "Winamp v1.x"
   IF
     cnt 0 DO
      0 msg 273 WIN-HWND SendMessageA DROP
     LOOP
   THEN
;

: NWINAMP-OP: ( compiling: msg cnt -- )
             ( executing: -- )
   CREATE C, ,
   DOES> COUNT SWAP @ SWAP WINAMP-OP
;

: WINAMP-OP: 1 NWINAMP-OP: ;

40058 5 NWINAMP-OP: WINAMP-UP-VOLUME
40059 5 NWINAMP-OP: WINAMP-DOWN-VOLUME
40045 WINAMP-OP: WINAMP-PLAY
40046 WINAMP-OP: WINAMP-PAUSE
40047 WINAMP-OP: WINAMP-STOP
40001 WINAMP-OP: WINAMP-CLOSE
40148 WINAMP-OP: WINAMP-FF
40144 WINAMP-OP: WINAMP-FR
40048 WINAMP-OP: WINAMP-NEXT-TRACK
40044 WINAMP-OP: WINAMP-PREVIOUS-TRACK
40022 WINAMP-OP: WINAMP-TOGGLE-REPEAT
40023 WINAMP-OP: WINAMP-TOGGLE-SHUFFLE

Смысл очевиден. Все эти сообщения - WM_COMMAND. Мне нужно всего лишь ловить эти сообщения.

Смысл очевиден. Все эти сообщения - WM_COMMAND


Leonid Troyanovsky   (2005-08-21 10:24:00) [2]


> NioBium   (20.08.05 22:04)  

> может отправлять произвольные сообщения (в качестве параметра
> записывается число). Мне же необходимо получать эти сообщения.


Кому он отправляет сообщения? Т.е., как назначается адресат?
И что значит "произвольные", т.е., статистические данные?

--
Regards, LVT.


alpet   (2005-08-21 00:35:00) [3]

Можно поставить ловушку WH_CALLWNDPROC, которая будет перехватывать сообщения Крона. Хотя не совсем ясно как идентифицировать при этом отправителя сообщения (т.е. доказать что это Крон) можно, разве что если будет список окон, которым он отправляет сообщения, и ограниченный набор сообщений (дабы не путать с системными).


Наверх

Титульная страница Поиск, карта сайта Написать письмо