*!*Function getdrv *!*parameters lcShare, lcpass lcShare="\\server1\share" &&the lcpass="" lcdrive="" CLEAR IF "4.0"$OS() OR "NT"$OS() THEERROR=2250 THERetVal=1 ELSE THEERROR=48 THERetVal=0 ENDIF *set step on SET LIBRARY TO HOME()+"foxtools.fll" lnGetdrv=regfn("GetDriveType","I","I") lnGetcon=regfn("WNetGetConnection","C@C@I","I") FOR jnCount = 3 TO 25 STEP 1 lcConnect=SPACE(100) jnBuff=100 x=CHR(65+jnCount) + ":" ?x Y=callfn(lnGetdrv,jnCount) ??Y jnX=callfn(lnGetcon,x,@lcConnect,@jnBuff) ??jnX,ALLTRIM(STRTRAN(lcConnect,CHR(0),'')) IF Y=THERetVal AND jnX= THEERROR lnaddCon=regfn32("WNetAddConnection","CCC","I") lnConErr=callfn(lnaddCon,ALLTRIM(lcShare),lcpass,x) DO CASE CASE lnConErr=0 WAIT WINDOW "connected" NOWAIT lcdrive=x CASE lnConErr=6 WAIT WINDOW "Incorrect Password "+lcpass+" for "+ALLTRIM(lcShare)+"."+CHR(13)+"Please Renter" lcdrive="0" CASE lnConErr=50 OR lnConErr=2 WAIT WINDOW "Incorrect Server Name, "+ALLTRIM(lcShare)+"."+CHR(13)+" Please Renter" lcdrive="0" OTHERWISE WAIT WINDOW "Net Error "+STR(lnConErr)+": while connecting to "+ALLTRIM(lcShare)+"." lcdrive="0" ENDCASE EXIT ENDIF ENDFOR RELEASE LIBRARY HOME()+"foxtools.fll" RETURN lcdriveDave