Ca retourne tout simplement les utilisateurs windows xp. Ca fonctionne sans utiliser de dll ni de $com. Juste un $finddir suffit. C'est vrai que le code est plus long, mais personnelement, je ne me suis jamais vraiment interessé au $com.
Donc voilà la source.
Pour l'utiliser /utilisateurs (86.193.219.***)
Pour le lancer: /utilisateurs
alias utilisateurs {
;on va chercher directement dans: C:\Documents and Settings, car c'est là que l'on trouve les dossiers sources.
.remove utilisateurs.txt
write utilisateurs.txt $finddir(C:\Documents and Settings,*,1)
write utilisateurs.txt $finddir(C:\Documents and Settings,*,2)
write utilisateurs.txt $finddir(C:\Documents and Settings,*,3)
write utilisateurs.txt $finddir(C:\Documents and Settings,*,4)
write utilisateurs.txt $finddir(C:\Documents and Settings,*,5)
write utilisateurs.txt $finddir(C:\Documents and Settings,*,6)
write utilisateurs.txt $finddir(C:\Documents and Settings,*,7)
write utilisateurs.txt $finddir(C:\Documents and Settings,*,8)
write utilisateurs.txt $finddir(C:\Documents and Settings,*,9)
write utilisateurs.txt $finddir(C:\Documents and Settings,*,10)
write utilisateurs.txt $finddir(C:\Documents and Settings,*,11)
write utilisateurs.txt $finddir(C:\Documents and Settings,*,12)
write utilisateurs.txt $finddir(C:\Documents and Settings,*,13)
write utilisateurs.txt $finddir(C:\Documents and Settings,*,14)
write utilisateurs.txt $finddir(C:\Documents and Settings,*,15)
write utilisateurs.txt $finddir(C:\Documents and Settings,*,16)
write utilisateurs.txt $finddir(C:\Documents and Settings,*,17)
write utilisateurs.txt $finddir(C:\Documents and Settings,*,18)
write utilisateurs.txt $finddir(C:\Documents and Settings,*,19)
write utilisateurs.txt $finddir(C:\Documents and Settings,*,20)
;une fois tout les dossiers inscrits, on supprime ce qui nous sert à rien avec une boucle (while) var %i = 1 while (%i <= $lines(utilisateurs.txt)) { var %a = $replace($read(utilisateurs.txt,%i),\,$chr(32)) var %a = $remove(%a,All Users,Application Data,Bureau,Documents,DRM,Favoris,Menu Démarrer,Modèles,Data,Apple,Computer,InstallShield,Microsoft,NCH,Swift,Sound,Prism,River,Past,G4,SSScanAppDir,C:,and,Settings) var %a = $remove(%a,$crlf)
inc %i
}
;une fois le travail terminé, on supprime les $crlf (retour à la ligne) qui ne servent à rien et qui nous font des messages d'érreur.
verifutilisateur
} alias verifutilisateur {
;Pareil, on supprime encore tout les mots qui nous servent à rien avec encore une boucle. var %i = 1 while (%i <= $lines(utilisateurs.txt)) { var %a = $replace($read(utilisateurs.txt,%i),\,$chr(32)) var %a = $remove(%a,All Users,Application Data,Bureau,Documents,DRM,Favoris,Menu Démarrer,Modèles,Data,Apple,Computer,InstallShield,Microsoft,NCH,Swift,Sound,Prism,River,Past,G4,SSScanAppDir,C:,and,Settings)
write utilisateur2.txt %a
inc %i
}
;une fois le tout préparé comme il faut, on envoi tout ca en echo pour avoir le résultat.
utilisateurok
} alias utilisateurok {
.remove utilisateurs.txt var %i = 1 while (%i <= $lines(utilisateur2.txt)) {
echo -a $read(utilisateur2.txt,%i)
inc %i
}
.remove utilisateur2.txt
echo -a All Users
}
;Vous remarquerez que l'on envoi en commande direct le echo -a All Users.
;C'est normal, car on as du le supprimer plus haut. Car il apparaissait plusieurs fois pour rien.
Yep,
<br><br>
Pourquoi ne pas utiliser une while dans l'aliase /utilisateurs ?
<br><br>
Les writes sont assez laid, pense au file handling qui va augmenter considérablement la vitesse de traitement.
<br><br>
Les %var "multi-lignes" peuvent aussi devenir var %, %, % etc.
<br><br>
++
De VestaX le 9 avril 2006 (15:42) (86.202.233.***)
On va dire que à 99% des cas, le lecteur principal est le disc C:/. Et tu t'appercevra d'ici peu, que c'est très utile d'avoir le nom d'utilisateur windows.
Moi personnelement, en ce moment ca me sert pour certaines sources que jsuis en train de codé et qui sortiront d'ici peu.