まず、
コード:
CDREAD()
Dim Ret As Long
Dim RetString As String '戻り値文字列
Dim RetLength As Long:RetLength=MAX_PATH '戻り文字列長
RetString=ZeroString(RetLength)
これを、
コード:
Dim Ret As Long
Dim RetString As String '戻り値文字列
Dim RetLength As Long:RetLength=MAX_PATH '戻り文字列長
RetString=ZeroString(RetLength)
CDREAD()
この様にして、変数を初期化してから CDREAD 関数を呼び出します。
次に、
コード:
mciSendString("play cdaudio from 8")'再生
MessageBox(hMainWnd,"OKで停止",Str$(Ret),0)
この部分ですが、
MessageBox の時点で変数 Ret には直前の "play cdaudio from 8" を実行した結果が返っていますので、
"status cdaudio number of tracks" の結果を知りたい場合はそれを実行した時点での値を調べます。
が、
Ret は mciSendString (API の方)の戻り値ですけど、これは成功したかどうかを
示しているだけで、実際の結果は RetString に文字列として返っていますので、
結局 "status ~" を実行した時点での RetString を調べるのが望ましいと思います。