ファイルを読み書きできるかチェックするモジュールです。bloadやbsaveなどでHSPエラー12を防ぐためにチェックするのに使えるかなぁと。
ファイルを読み書きできるかチェックするモジュールです。bloadやbsaveなどでHSPエラー12を防ぐためにチェックするのに使えるかなぁと。
#module _FileCheck_ #uselib "kernel32" #cfunc _FC_CreateFile "CreateFileA" sptr,sptr,sptr,sptr,sptr,sptr,sptr #cfunc _FC_GetLastError"GetLastError" #func _FC_CloseHandle "CloseHandle" sptr #define GENERIC_READ 0x80000000 #define GENERIC_WRITE 0x40000000 #define OPEN_EXISTING 0x00000003 #define FILE_ATTRIBUTE_NORMAL 0x00000080 #define INVALID_HANDLE_VALUE -1 #deffunc FileCheck str _fname fname = _fname hFile = _FC_CreateFile(fname, GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0) error = _FC_GetLastError() if hFile != INVALID_HANDLE_VALUE { _FC_CloseHandle hFile } return error #global // stat の値は // http://homepage3.nifty.com/aokura/tips/e000000.html // を参考にしてください。 FileCheck "test.txt" if stat == 0{ mes "正常終了しました。" }else : if stat == 2 || stat == 3{ mes "ファイルが見つかりません。" }else : if stat == 4 || stat == 5{ mes "ファイルを開くことができません。" }else : if stat == 32 || stat == 33{ mes "ファイルを書き込むことができません。" }