Code posted by Stefan Pendl on http://libertybasic.conforums.com/index.cgi tips board then turned into a function [[code vbnet]][[code]] function ErrorMessageFromAPI$() calldllcalldll #kernel32, "GetLastError", _ ErrorCode ErrorCode as ulong dwFlagsdwFlags = _FORMAT_MESSAGE_FROM_SYSTEM nSize nSize = 1024 lpBuffer$ lpBuffer$ = space$(nSize); chr$(0) dwMessageID dwMessageID = ErrorCode calldllcalldll #kernel32, "FormatMessageA", _ dwFlags dwFlags as ulong, _ lpSource lpSource as ulong, _ dwMessageID dwMessageID as ulong, _ dwLanguageID dwLanguageID as ulong, _ lpBuffer$ lpBuffer$ as ptr, _ nSize nSize as ulong, _ Arguments Arguments as ulong, _ result result as ulong ErrorMessageFromAPI$ErrorMessageFromAPI$ = "Error "; ErrorCode; ":";ErrorCode;": "; left$(lpBuffer$, result) end function [[code]]function[[code]]