No, YOU are wrong... don't make me blind, cause I'm not blind!
WM_USER = 1024; //(0x400)
IPC_JUMPTOTIME = 106; //(0x6A)
ret = SendMessage(hWnd, WM_USER, ms, IPC_JUMPTOTIME);
Here's my prove! You are using bad Message for foo_winamp_spam. Sorry, you are using Winamp IPC API WRONG way.
#define IPC_JUMPTOTIME 106
/* (requires Winamp 1.60+)
** SendMessage(hwnd_winamp,WM_WA_IPC,ms,IPC_JUMPTOTIME);
** IPC_JUMPTOTIME sets the position in milliseconds of the
** current song (approximately).
** Returns -1 if not playing, 1 on eof, or 0 if successful
*/
Can you see that? You have to use SendMessage, NOT PostPessage. I have question: do you get something right from Winamp (foo_winamp_spam)? I don't think so.
/* message used to sent many messages to winamp's main window.
** most all of the IPC_* messages involve sending the message in the form of:
** result = SendMessage(hwnd_winamp,WM_WA_IPC,(parameter),IPC_*);
*/
#define WM_WA_IPC WM_USER
And if you now still think you are right, start thinking about it. Think about all code sheets I've posted above.
And at last (for making things clear): foo_winamp_spam SUPPORTS seeking!!!