首页 / 软件开发 / VB / vb中使用Windows消息控制Winamp
vb中使用Windows消息控制Winamp2008-04-17第一部分:得到Winamp的窗口Winamp是一个32位的Windows应用程序。也就是说,我们可以使用32位的Windows编程的一些基础技术来实现控制Winamp,即使用Windows的消息系统。在你给Winamp发送消息之前,你必须得到Winamp窗口的句柄。这里有个方法,使用外部应用程序(例如你自己编写的VB应用)就可以达到要求。Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Dim hwndWinamp as long
hwndWinamp = FindWindow("Winamp v1.x",vbNullString)
大家可能会注意到一点,为什么要使用类名"Winamp v1.x"来FindWindow呢?因为Winamp 1.x 和 2.x 的所有版本都是用"Winamp v1.x"这个class name的。第二部分:使用消息Winamp相应的三个消息:WM_USER,WM_COMMAND,和 WM_COPYDATA。WM_USER 和 WM_COPYDATA 允许你可以对Winamp进行一些高级的控制。而WM_COMMAND则可以做一些简单的操作,如暂停,播放,和跳到下一首音乐。1.WM_COMMAND 消息:Previous track button 40044Next track button 40048Play button 40045Pause/Unpause button 40046Stop button 40047Fadeout and stop 40147Stop after current track 40157Fast-forward 5 seconds 40148Fast-rewind 5 seconds 40144Start of playlist 40154Go to end of playlist 40158Open file dialog 40029Open URL dialog 40155Open file info box 40188Set time display mode to elapsed 40037Set time display mode to remaining 40038Toggle preferences screen 40012Open visualization options 40190Open visualization plug-in options 40191Execute current visualization plug-in 40192Toggle about box 40041Toggle title Autoscrolling 40189Toggle always on top 40019Toggle Windowshade 40064Toggle Playlist Windowshade 40266Toggle doublesize mode 40165Toggle EQ 40036Toggle playlist editor 40040Toggle main window visible 40258Toggle minibrowser 40298Toggle easymove 40186Raise volume by 1% 40058Lower volume by 1% 40059Toggle repeat 40022Toggle shuffle 40023Open jump to time dialog 40193Open jump to file dialog 40194Open skin selector 40219Configure current visualization plug-in 40221Reload the current skin 40291Close Winamp 40001Moves back 10 tracks in playlist 40197Show the edit bookmarks 40320Adds current track as a bookmark 40321Play audio CD 40323Load a preset from EQ 40253Save a preset to EQF 40254Opens load presets dialog 40172Opens auto-load presets dialog 40173Load default preset 40174Opens save preset dialog 40175Opens auto-load save preset 40176Opens delete preset dialog 40178Opens delete an auto load preset dialog 40180