|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Win32 API - [решено] Управление Winamp из VB |
|
Win32 API - [решено] Управление Winamp из VB
|
Старожил Сообщения: 309 |
Профиль | Отправить PM | Цитировать Вообщем есть клавиатура с мультимидийными клавишами (PLAY_PAUSE, STOP, PREV_TRACK, NEXT_TRACK), и Winamp v2.76, предполагается использовать данные клавиши для управления Winamp(ом). Программу я впринципе написал, и она вполне нормально функционирует, только есть одна проблемка, на клавиатуре PLAY и PAUSE висят на одной клавише, а в Winamp они разделены. Изтого что я нашёл в инете следует что можно с помощью конструкции скажем “W=SendMessage( FhWnd, WM_USER, 0, 104)” узнать текущее состаяние плеера “W=1” играет, ”W=3”пауза. Но у меня данная функция всегда возвращает 1. Ни кто не сталкивался с чем-то подобным может ответ я должен забирать с помощью какой-нибудь другой функции. Заранее благодарен всем!!!
|
|
Отправлено: 13:53, 18-04-2009 |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать Vovchick1,
VB get Winamp status? ответы получают как раз с помощью данной функции. Используют 5ю версию. Я проверил на 5.5 - текущее состояние определяет корректно, на версии 2.76 не проверял. |
Отправлено: 15:19, 21-04-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 309
|
Профиль | Отправить PM | Цитировать Admiral
Спасибо за ответ, можеш скинуть конструкцию с помощью которой определял состояние, может я неверно её записал. Цитата:
|
|
Последний раз редактировалось Vovchick1, 21-04-2009 в 17:13. Отправлено: 16:49, 21-04-2009 | #3 |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать Vovchick1 конечно.
Основан на коде из поста от QOAL по ссылке выше из предыдущего поста. Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Const WM_USER = &H400 Const WA_GETSTATUS = 104 Dim hWndWinAMP As Long Function WinAMP_GetStatus() As String Dim Status As Long Status = SendMessage(hWndWinAMP, WM_USER, 0, WA_GETSTATUS) Select Case Status Case 1 WinAMP_GetStatus = "PLAYING" Case 3 WinAMP_GetStatus = "PAUSED" Case Else WinAMP_GetStatus = "STOPPED" End Select End Function Private Sub Command1_Click() WAClass = "Winamp v1.x" 'Users can change winamp class with a command line IRRC, so yeah. hWndWinAMP = FindWindow(WAClass, vbNullString) If hWndWinAMP <> 0 Then MsgBox WinAMP_GetStatus Else MsgBox "Could not find Winamp!", vbOKOnly, "WA Status" End If End Sub Кажется в 2.95, или чуть раньше в линейки 2.9х, появилась возможность смотреть видео. А для более ранних версий есть плугин позволяющие смотреть видео. Не 3я версия это отдельная история, 5ка по шустрее будет. Мне Винамп на некотором видео (в основном *.wmv) показывает без тормозов где vlc подтормаживает. |
Отправлено: 17:29, 21-04-2009 | #4 |
Старожил Сообщения: 309
|
Профиль | Отправить PM | Цитировать Admiral
Сеньк работает!!!! Похоже вот вчём ошибка была, API Viewer выдал не то описание функции: Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Вместо: Public Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long |
|
Последний раз редактировалось Vovchick1, 21-04-2009 в 18:09. Отправлено: 17:55, 21-04-2009 | #5 |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать Vovchick1 рад что смог помочь.
Приятного прослушивания музыки. Спасибо за обратную связь. |
Отправлено: 18:21, 21-04-2009 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Управление компьютера при помощи речи - Голосовое управление | mihanik | Программное обеспечение Windows | 24 | 11-04-2014 03:36 | |
Медиа - [решено] как сделать winamp программой по умолчанию? | Miroed | Microsoft Windows Vista | 12 | 18-10-2008 08:36 | |
Установка - [решено] Медиа клавиши и Winamp - Acer 5920 | 72.Flou | Microsoft Windows Vista | 4 | 20-08-2008 09:41 | |
Медиа - [решено] Ассоциирование MP3 с Winamp | wale | Microsoft Windows Vista | 2 | 04-07-2008 18:31 | |
[решено] Сбились иконки для файлов Winamp | Solrobot | Microsoft Windows 2000/XP | 7 | 27-06-2007 14:05 |
|