Public SendMessage() Public HWND_BROADCAST Public WM_WININICHANGE Public hwnd Public wMsg Public wParam Public lParam 'for 98 and below, local printer MAIN LOCAL APPNAME KEYNAME STRING FILENAME KERNEL RESULT HWND_BROADCAST = 0xFFFF WM_WININICHANGE = 0x1A APPNAME = "WINDOWS" KEYNAME = "device" FILENAME = "win.INI" 'place your printer name on mext line(s) STRING = "EPSON FX-870 Connected to LPT1:" ' STRING = "EPSON FX-870=EPSON9,LPT1:" RESULT = 0 DLL LOAD "kernel32.dll" KERNEL DLL CALL KERNEL FUNCTION "WritePrivateProfileStringA" STACK "PPPP" \ DOSPTR(APPNAME) DOSPTR(KEYNAME) \ DOSPTR(STRING) DOSPTR(FILENAME) RESULT = GETREG(AX) DLL UNLOAD KERNEL IF RESULT = 0 "Oops! Something broke..." ELSe SendMessage() END IF MESSAGE RESULT END MAIN Function SendMessage() local WINLIB local result dll load "user32.dll" WINLIB dll call WINLIB function "SendMessageA" stack "LLLP" HWND_BROADCAST WM_WININICHANGE 0 0 result = getreg(ax) dll unload WINLIB return result End Function