38 lines
847 B
Plaintext
38 lines
847 B
Plaintext
#INCLUDE "Win32API.inc"
|
|
|
|
FUNCTION PBMAIN () AS LONG
|
|
DIM hWnd AS LONG
|
|
DIM msg AS ASCIIZ * 14, titl AS ASCIIZ * 8
|
|
|
|
hWnd = LoadLibrary ("user32")
|
|
msg = "Hello, world!"
|
|
titl = "Example"
|
|
IF ISTRUE (hWnd) THEN
|
|
funcAddr& = GetProcAddress (hWnd, "MessageBoxA")
|
|
IF ISTRUE (funcAddr&) THEN
|
|
ASM push 0&
|
|
tAdr& = VARPTR(titl)
|
|
ASM push tAdr&
|
|
mAdr& = VARPTR(msg)
|
|
ASM push mAdr&
|
|
ASM push 0&
|
|
CALL DWORD funcAddr&
|
|
ELSE
|
|
GOTO epicFail
|
|
END IF
|
|
ELSE
|
|
GOTO epicFail
|
|
END IF
|
|
|
|
GOTO getMeOuttaHere
|
|
|
|
epicFail:
|
|
MSGBOX msg, , titl
|
|
|
|
getMeOuttaHere:
|
|
IF ISTRUE(hWnd) THEN
|
|
tmp& = FreeLibrary (hWnd)
|
|
IF ISFALSE(tmp&) THEN MSGBOX "Error freeing library... [shrug]"
|
|
END IF
|
|
END FUNCTION
|