2012-03-08 4 views
0

Я знаю, что мой заголовок немного неясен, но позвольте мне объяснить.Получите ActionID для событий Spotify под окнами

Я подумываю о создании приложения, которое будет уведомлять имя и исполнитель текущей исполняемой песни с помощью значка уведомлений в окнах.

Я смотрел toastify, но по какой-то причине он не работает в моей системе.

В настоящее время я использую pytify для получения имени и имени текущей игровой дорожки.

Проблема, с которой я столкнулась, заключается в том, как обнаружить событие next song change для определения в окнах.

Я смотрел на pytify's исходный код и обнаружил, что он использует определенный Command ID's как

# Command IDs 
CMD_PLAYPAUSE = 917504 
CMD_STOP  = 851968 
CMD_PREVIOUS = 786432 
CMD_NEXT  = 720896 

контролировать Spotify.

Прежде всего, то, что приложение необходимо использовать, чтобы получить эти ID.

и как получить тот же идентификатор для события next song change или я неправильно обрабатываю проблему.

PS: Пользователи Linux знакомы с Программное обеспечение dbus для решения аналогичной проблемы.

ответ

1

Похоже, что само по себе запястье не имеет «обратного вызова» api, поэтому вам придется делать это вручную, подключаясь к событиям SendMessage. Я не уверен, что вы можете сделать это с помощью pyhook, используя крюк WH_CALLWNDPROC. Затем вы можете наблюдать за изменениями заголовков в ваших окнах (что, я думаю, использует событие WM_SETTEXT)

+0

Спасибо за ответ. – RanRag

+0

Если я правильно понимаю, что вы имеете в виду, мой скрипт/программа python должен дождаться, когда 'spotifymainwindow' запускает событие' WM_SETTEXT', а не захватывает событие и делает то, что ему нужно сделать. Можете ли вы предложить мне некоторое чтение по этому поводу (pywin32, события, сообщения). – RanRag

+0

Да. Хотя я не уверен, что вы можете сделать это в pyhook. Возможно, вам придется использовать pywin32. См. Эту тему: http://python.6.n6.nabble.com/window-events-via-SetWindowsHookExA-td1956530.html – maranas

Смежные вопросы