Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/07/2004, 19:06
Troyano
 
Fecha de Ingreso: marzo-2002
Mensajes: 449
Antigüedad: 22 años, 1 mes
Puntos: 0
chistoso e interesante a la ves..... segun yo

Lo que pasa es que en el script que les mensiono se hizo una funcion personalizada que no ma habia fijado y que lo que hace es crear un vbscript que lo ejeuta al vuelo (en este esta la llamada al api de windows) y devuelve el resultado.
Ja, resulto ser muy ingeniosos

Esta es la funcion

function win32BrowseForFolder ( $label )
{
global $ptmp;
static $wshSaved=false;
static $cscript='';
$wsh_browserfolder = 'Option Explicit
Dim ArgObj, var1, var2, sa, sFld
Set ArgObj = WScript.Arguments
Const BIF_EDITBOX = &H10
Const BIF_NEWDIALOGSTYLE = &H40
Const BIF_RETURNONLYFSDIRS = &H0001
Const BIF_DONTGOBELOWDOMAIN = &H0002
Const BIF_STATUSTEXT = &H0004
Const BIF_RETURNFSANCESTORS = &H0008
Const BIF_VALIDATE = &H0020
Const BIF_BROWSEFORCOMPUTER = &H1000
Const BIF_BROWSEFORPRINTER = &H2000
Const BIF_BROWSEINCLUDEFILES = &H4000
Const OFN_LONGNAMES = &H200000
Const OFN_NOLONGNAMES = &H40000
Const ssfDRIVES = &H11
Const ssfNETWORK = &H12
Set sa = CreateObject("Shell.Application")
var1=ArgObj(0)
Set sFld = sa.BrowseForFolder(0, var1, BIF_EDITBOX + BIF_VALIDATE + BIF_BROWSEINCLUDEFILES + BIF_RETURNFSANCESTORS+BIF_NEWDIALOGSTYLE , ssfDRIVES )
if not sFld is nothing Then
if not left(sFld.items.item.path,1)=":" Then
WScript.Echo sFld.items.item.path
Else
WScript.Echo "invalid"
End If
Else
WScript.Echo "cancel"
End If
';
if( !$wshSaved){
$cscript = $ptmp.DIRECTORY_SEPARATOR."bf.vbs";
$fh = fopen($cscript,"wb+");
fwrite($fh,$wsh_browserfolder,strlen($wsh_browserf older));
fclose($fh);
$wshSaved = true;
}
exec('cscript '.$cscript.' "'.$label.'" //noLogo',$arPath);
if($arPath[0]=='' || $arPath[0]=='cancel'){
return '';
} elseif ($arPath[0]=='invalid') {
echo "Invalid Path.\n";
return '';
}
return $arPath[0];
}