windows apis 大多數(shù)的api調(diào)用可以象在visual basic 6.0中一樣使用,因為 數(shù)據(jù)類型發(fā)生了改變。在visual basic 6.0中的long類型在visual basic.net中定義為integer類型。在升級過程中這些定義會自動改變,例如:
private declare function getversion lib "kernel32" () as long function getver() dim ver as long ver = getversion() msgbox ("system version is " & ver) end function
改變?yōu)椋?br> private declare function getversion lib "kernel32" () as integer function getver() dim ver as integer ver = getversion() msgbox("system version is " & ver) end function
private declare function getusername lib "advapi32.dll" alias _ "getusernamea" (byval lpbuffer as string, byref nsize as long) as long function getuser() dim ret as long dim username as string dim buffer as string * 25 ret = getusername(buffer, 25) username = left$(buffer, instr(buffer, chr(0)) - 1) msgbox (username) end function
上面的代碼出現(xiàn)了固定長度字符串,最好更改為:
dim buffer as string buffer = string$(25, " ")
升級到visual basic.net后會稱為下面的樣子:
declare function getusername lib "advapi32.dll" alias _ "getusernamea" (byval lpbuffer as string, byref nsize as integer) as integer function getuser() dim ret as integer dim username as string dim buffer as string buffer = new string(cchar(" "), 25) ret = getusername(buffer, 25) username = left(buffer, instr(buffer, chr(0)) - 1) msgbox(username) end function
private declare function getprivateprofilestring lib "kernel32" alias "getprivateprofilestringa" (byval lpapplicationname as string, byval lpkeyname as any, byval lpdefault as string, byval lpreturnedstring as string, byval nsize as long, byval lpfilename as string) as long
private declare function getprivateprofilestringkey lib "kernel32" alias "getprivateprofilestringa" (byval lpapplicationname as string, byval lpkeyname as string, byval lpdefault as string, byval lpreturnedstring as string, byval nsize as long, byval lpfilename as string) as long private declare function getprivateprofilestringnullkey lib "kernel32" alias "getprivateprofilestringa" (byval lpapplicationname as string, byval lpkeyname as long, byval lpdefault as string, byval lpreturnedstring as string, byval nsize as long, byval lpfilename as string) as long