Sub TextSet(path As BytePtr) 'ファイルを開きエディトボックスにセットする関数
Dim hFile As VoidPtr 'ファイルハンドル
Dim FileSize As Long 'ファイルサイズ
Dim buffer As BytePtr 'バッファポインタ
Dim dwAccessByte As DWord
'変数pathにファイルパスが格納される
'ファイルを開く
hFile=CreateFile(path, GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE,
ByVal 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)
OutputDebugString(path)
'ファイルを開けなかったとき
If hFile=INVALID_HANDLE_VALUE Then
MessageBox(hMainWnd,"ファイルオープンに失敗","エラー",MB_OK or MB_ICONEXCLAMATION) 'ここではじかれます。
Exit Sub
End If
'ファイルサイズを取得し、バッファを確保する
FileSize=GetFileSize(hFile,0)
buffer=calloc(FileSize+1)
'ファイルの読み込み
ReadFile(hFile,buffer,FileSize,VarPtr(dwAccessByte),ByVal 0)
buffer[dwAccessByte]=0
'ファイルをクローズ
CloseHandle(hFile)
'テキストバッファをエディットボックスにセットする
SetDlgItemText(hMainWnd,MainEdit,buffer)
'バッファを解放する
free(buffer)
End Sub
'ファイルを開けなかったとき
If hFile=INVALID_HANDLE_VALUE Then
MessageBox(hMainWnd,"ファイルオープンに失敗","エラー",MB_OK or MB_ICONEXCLAMATION) 'ここではじかれます。
Exit Sub 'ここをとってもセットされない
End If