早速ですが質問させてください。
ファイルダイアログで指定された複数のファイルを開こうと、
このページのコードを書いたのですが、
複数のファイルを開くと、
リストボックスに文字化けした文字が入るときがります。
コードは AB3.x のものだそうなので、
違うのであれば AB5 CP3 のコードにしたいのですが、
どう直せばよいのでしょうか?
[ここをクリックすると内容が表示されます]
お願いします。コード: 全て選択
Dim ofn As OPENFILENAME
Dim buf[MAX_PATH] As Byte
Dim lpFileName As BytePtr
Dim lpf As Long
Dim lpd As Long
FillMemory(VarPtr(ofn), Len(ofn), 0)
ofn.lStructSize = Len(ofn)
ofn.hwndOwner = hMainWnd
ofn.lpstrFilter = Ex"Ogg Vorbis(*.ogg)\0*.ogg\0\0"
ofn.nFilterIndex = 1
ofn.nMaxFile = MAX_PATH
ofn.lpstrFile = buf
ofn.Flags = OFN_FILEMUSTEXIST or OFN_ALLOWMULTISELECT or OFN_HIDEREADONLY or OFN_PATHMUSTEXIST or OFN_EXPLORER
ofn.lpstrDefExt = "*"
Dim i As Long
If GetOpenFileName(ofn) Then
lpf=ofn.nFileOffset
lpd=lpf
buf[lpf-1]=&H5C
While 1
lpFileName=VarPtr(buf[lpf])
If lstrlen(lpFileName)=0 Then Exit While
memcpy(VarPtr(buf[lpd]),lpFileName, lstrlen(lpFileName)+1)
SendMessage(hList, LB_INSERTSTRING, i, buf As Long)
lpf=lpf+lstrlen(lpFileName)+1
i++
Wend
End If