'=========================================================================== ' Subject: RETURN NETWORK ID Date: 05-22-92 (12:20) ' Author: Tony Elliott Code: QB, PDS ' Keys: RETURN,NETWORK,ID Packet: NETWORK.ABC '=========================================================================== '> Does anybody have a routine to check either the network node ID or the '> card id on a NetBios based network, such as LanTastic? 'Here's a little routine you can use to return the machine name and ID 'on NetBios compatible networks. It'll return a null string if a 'compatible network is not running. Hope it helps. '------------------- DEFINT A-Z DECLARE FUNCTION MachineName$ (MachineNumber%) REM $INCLUDE: 'QB.BI' 'Use QB.BI for QB4.x ThisMachine$ = MachineName$(MachineNumber%) IF LEN(ThisMachine$) THEN PRINT "Machine Name: "; ThisMachine$ PRINT " Machine #:"; MachineNumber% ELSE PRINT "NetBIOS compatible network not installed." END IF '------------- FUNCTION MachineName$ (MachineNumber%) 'If a NetBIOS compatible network is installed, this function returns 'the machine name as a result of the function and the machine's NetBIOS 'ID number in the MachineNumber% parameter. 'If a network is not detected, the function returns a null string. DIM Reg AS RegTypeX 'In QB.BI (or QBX.BI if using PDS) DIM Temp AS STRING * 16 'Buffer to hold machine name MachineNumber% = 0 'Make sure it is zero Reg.ax = 0 'Use function 0 of interrupt 2ah CALL INTERRUPTX(&H2A, Reg, Reg) IF Reg.ax AND &HFF00 THEN 'If AH <> 0 then network was found Reg.ax = &H5E00 Reg.ds = VARSEG(Temp) Reg.dx = VARPTR(Temp) CALL INTERRUPTX(&H21, Reg, Reg) IF Reg.flags AND 1 THEN 'Did an error occur? EXIT FUNCTION END IF MachineNumber% = Reg.cx AND &HFF 'Machine # in CL MachineName$ = RTRIM$(Temp) END IF END FUNCTION