Automatically register system.dll
Thank you! Opens up so many possibilities.
#DIM ALL
REM #INCLUDE "win32api.inc" 'for shellexecute
#INCLUDE "shellapi.inc" 'for shellexecute
'http://www.jose.it-berater.org/smfforum/index.php?topic=3053.0
' ########################################################################################
' The following example creates an instance of the "System.Net.WebClient" class to
' download a picture from an URI and save it to a file.
' ########################################################################################
FUNCTION Regasm AS LONG 'only need this code once
LOCAL sDllPath AS STRING
sDllPath = "C:\Windows\Microsoft.NET\Framework\v2.0.50727\"
IF ISFILE(sDllPath + "system.dll") THEN
SHELL sDLLPath + "regasm.exe system.dll
FUNCTION = 1 'success
ELSE
? "system.dll not found"
END IF
END FUNCTION
FUNCTION PBMAIN () AS LONG
IF RegAsm = 0 THEN EXIT FUNCTION
LOCAL zFileName AS STRINGZ * 256
LOCAL owc AS DISPATCH
LOCAL vAddress AS VARIANT
LOCAL vFileName AS VARIANT
owc = NEWCOM "System.Net.WebClient"
IF ISOBJECT(owc) THEN
TRY
vAddress = "http://www.jose.it-berater.org/webpages_images/h_2.jpg"
vFileName = EXE.PATH$ & "h_2.jpg"
OBJECT CALL owc.DownloadFile(vAddress, vFileName)
owc = NOTHING
'display using default viewer
zFileName = EXE.PATH$ & "h_2.jpg"
ShellExecute (%NULL, "OPEN", zFileName, BYVAL %NULL, CURDIR$, %SW_SHOWNORMAL)
CATCH
IF OBJRESULT = &H80020009 THEN
MSGBOX "Error &H" & HEX$(IDISPINFO.CODE) & $CRLF & IDISPINFO.DESC$
ELSE
MSGBOX "Error &H" & HEX$(OBJRESULT)
END IF
END TRY
ELSE
? "ISOBJECT FAILED"
END IF
END FUNCTION'