VisualBasic辅导:编程获得系统错误信息提示
很多编程爱好者在VB API编程中经常会遇到API调用中的错误代码(遇到API调用中的错误可以使用GetLastError函数获取错误代码)。但是很多情况下,错误码并不是很有用,因为你不知道代码是什么意思。事实上,Windows为每个错误代码都提供了错误提示,并且它适应不同的语言版本(即使你使用中文版的Windows,提示也是中文的)。只要通过API编程,就可以得到详细的错误提示。
下面通过节目介绍。要运行下面的程序,必须先在窗体中添加一个ListBox和CommandButton。将下面的代码添加到窗体的代码窗口中。
Private Declare函数format message Lib ' kernel 32 ' _
Alias ' format message a '(ByVal dw flags为Long,_
lpSource为Any,ByVal dwMessageId为Long,_
ByVal dwLanguageId为Long,ByVal lpBuffer _
为String,ByVal nSize为Long, arguments As _
Long
Private Declare Function GetLastError Lib ' kernel 32 ' _
()Long
Private Declare Function close handle Lib ' kernel 32 ' _
(ByVal hObject As Long
Const FORMAT _ MESSAGE _ FROM _ SYSTEM = & h 1000
Const FORMAT _ MESSAGE _ IGNORE _ INSERTS = & H200
Private Sub command 1 _ Click()[/Long 20)
'获取特定错误信息
forerrid = 0到8191
l = format message(format _ message _ from _ system or _
format _ message _ ignore _ inserts,0&,errid,0&,_
astr,Len(astr),ByVal 0)
If l Then
bstr = Left $(astr,InStr(astr,Chr(10))-2)
additemstr(errid)+' '+bstr
Endif
Next errid
end sub
运行程序。以上程序运行在Win 95和VB 5.0下。
0条评论