投稿者 neptune  (社会人) 投稿日時 2009/10/14 08:08:44
るしぇさんもおっしゃってますが、
>>(VB6のコードらしいですが、VB2008でもうごきました。)
>ダメですよ、これ。

私はこう書いてますよね。

整数型 (Integer) (Visual Basic 6.0 ユーザー向け)
http://msdn.microsoft.com/ja-jp/library/7f5ztkz3.aspx 
VB6のLongは32 ビット、符号付き
VB2008のLongは64 ビット、符号付き
です。
サイズが違うんです。これは重大な問題で、偶然エラーにならなかったのかも。

せっかく書いたのに。


neptune   (社会人)   投稿日時 2009/10/06 21:34:28 

投稿者 neptune   (社会人)   投稿日時 2009/10/07 17:50:34  
のリンク先見たんですかね?見たのなら
後々Logを見る人のために書いておきますが

'宣言はこうなって 
 Private Declare Ansi Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _
                (ByVal command As String, _
                 ByRef buffer As StringBuilder, _
                 ByVal bufferSize As Integer, _
                 ByVal hWndCallback As IntPtr) As Integer

'mciSendString の使い方は 
        'cmdString:コマンド文字列 
       Dim ret As Integer = mciSendString(cmdString, Nothing, 0, IntPtr.Zero)

のようになると思いますよ。

それにしてもopenなしでplayを送っても自動的にopenするんだろうか?
再生はするんですけどね。
エイリアスを使わないならそれでも良いかも知れないが動作を把握してからの方が安心。
Helpに書いてある定石って大事ですよ。