by Tomorrow » 2005年9月26日(月) 00:38
> とりあえずMSDNによるとReadProcessMemoryは失敗すると(つまりFALSEを返すと)GetLastErrorが使えるとあります。
拡張エラー情報の表示はコレで↓
コード: 全て選択
ErrorMessageBox(0, GetLastError(), "拡張エラー情報", MB_OK Or MB_ICONEXCLAMATION)
Function ErrorMessageBox(hWnd As DWord, ErrCode As Long, lpCaption As BytePtr, uType As DWord) As Long
Dim lpMsgBuf As BytePtr
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER or FORMAT_MESSAGE_FROM_SYSTEM or FORMAT_MESSAGE_IGNORE_INSERTS, NULL, ErrCode, LANG_USER_DEFAULT, VarPtr(lpMsgBuf), 0, NULL)
ErrorMessageBox=MessageBox(hWnd, lpMsgBuf, lpCaption, uType)
LocalFree(lpMsgBuf)
End Function
> とりあえずMSDNによるとReadProcessMemoryは失敗すると(つまりFALSEを返すと)GetLastErrorが使えるとあります。
拡張エラー情報の表示はコレで↓
[code]ErrorMessageBox(0, GetLastError(), "拡張エラー情報", MB_OK Or MB_ICONEXCLAMATION)
Function ErrorMessageBox(hWnd As DWord, ErrCode As Long, lpCaption As BytePtr, uType As DWord) As Long
Dim lpMsgBuf As BytePtr
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER or FORMAT_MESSAGE_FROM_SYSTEM or FORMAT_MESSAGE_IGNORE_INSERTS, NULL, ErrCode, LANG_USER_DEFAULT, VarPtr(lpMsgBuf), 0, NULL)
ErrorMessageBox=MessageBox(hWnd, lpMsgBuf, lpCaption, uType)
LocalFree(lpMsgBuf)
End Function[/code]