HSP

 HSPに標準でついている サウンド再生機能では 同時に再生とか出来ないみたいなので
音声再生部分は MIAさんが作成した『HSP DirectSoundExtension』を使うようにしました

でも まずは ウインドウにボタンを複数配置して ウインドウ上のどのボタンを マウスのどのボタンで押されているかを
調べることが出来ないと 話にならないので その 部分を作ってみる事にしました

以下サンプルプログラム
;---------------------------------------------------------------------------------
; 使用するDLLを宣言
;---------------------------------------------------------------------------------
#uselib "user32.dll"
    #func SetTimer  "SetTimer"  int, int, int, int
    #func KillTimer "KillTimer" int, int
    #cfunc WindowFromPoint "WindowFromPoint" int, int

;---------------------------------------------------------------------------------
; 定数を定義
;---------------------------------------------------------------------------------
#define WM_TIMER         0x0113
#define ID_TIMER         1

;---------------------------------------------------------------------------------
; イベントを定義
;---------------------------------------------------------------------------------
onexit gosub *_OnExit
SetTimer hwnd, ID_TIMER, 100, 0
oncmd gosub *_OnTimer, WM_TIMER

;---------------------------------------------------------------------------------
; ボタン配置
;---------------------------------------------------------------------------------
pos 5, 5 : button gosub "Button1",*Button1_OnClick : hButton1 = objinfo (stat, 2)
pos 5,35 : button gosub "Button2",*Button2_OnClick : hButton2 = objinfo (stat, 2)
pos 5,65 : button gosub "Button3",*Button3_OnClick : hButton3 = objinfo (stat, 2)
pos 5,95 : button gosub "Button4",*Button4_OnClick : hButton4 = objinfo (stat, 2)

;---------------------------------------------------------------------------------
; ボタンのハンドル一覧を表示
;---------------------------------------------------------------------------------
mes
mes "ボタンのハンドル一覧"
mes "Button1 : " + hButton1
mes "Button2 : " + hButton2
mes "Button3 : " + hButton3
mes "Button4 : " + hButton4

;---------------------------------------------------------------------------------
; 待機開始
;---------------------------------------------------------------------------------
stop

;---------------------------------------------------------------------------------
; イベント処理
;---------------------------------------------------------------------------------
; タイマー処理
*_OnTimer
    ; 非アクティブ時は処理しない
    if ginfo(2) = -1 { return }
    ; マウスボタンの状態を取得
    getkey IsL, 1
    getkey IsM, 4
    getkey IsR, 2
    buf1 = ""
    if IsL { buf1 = buf1 + " L " }
    if IsM { buf1 = buf1 + " M " }
    if IsR { buf1 = buf1 + " R " }
    ; マウスが乗っているウインドウのハンドルを取得
    buf2 = ""
    hCurrentWindow = WindowFromPoint(ginfo(0),ginfo(1))
    buf2 = str(hCurrentWindow)
    ; タイトル部分に マウスが乗っているボタンのハンドルと ボタンの状態を表示
    title buf2 + buf1
return

; ボタンクリック
*Button1_OnClick
return
*Button2_OnClick
return
*Button3_OnClick
return
*Button4_OnClick
return

; 終了処理
*_OnExit
KillTimer hwnd, ID_TIMER
end
 HSP3をインストールして 上の内容をコピペして 「コンパイル+実行」すれば 普通にサンプルを見ることが出来ます
処理速度も特に問題ないようですね、慣れたら シンプルなプログラムを手軽に作れるようになりそうですね
もし 「もっといいアイデアあるぞ!」って人がいればアドバイスお願いします