Heres the deal...
I have a procedure that fires a shotgun at a window in my program (by pressing the right mouse button), this starts a process of a wave file being played and then the picture of the bullet wound being blitted to the screen.

Well the wave is about 2-3 seconds long and I want to prevent people from shooting again until the wave file is done playing (using the PlaySound API). Well I first tried changing one property from ASYNC to SYNC, but all this does is build up shots in the queue, so delayed bullets and sounds for every time they right click.

My theory and what I need help with. I was wondering if anyone could hint at what API or process I could use to ignore all right click events until the sound is done playing. So if there was an API to check the state of the wave file (still open..playin... etc... ) then I might be able to just use an IF statement...

Thanks for any help...
If you wish to have a visual idea of what I am talking about...
http://www.geocities.com/yassinator/screenkill/sk.html