Page 1 sur 1
[..] Script Unlocker
Posté : mer. 30 juil. 2014 17:20
par shuradoko999
Bonjour a tous
Je chercher a scripter Unlocker avec les commandes winwaitactive et send.
Dés l'ouverture j ai un soucis la fenetre "rechercher un dossier" n'est pas prise en
compte et donc mes send ne se font pas
cijoint le morceau de code concerner :
Code : Tout sélectionner
ShellExecute ("C:\Documents and Settings\admintesto\Bureau\Nouveau dossier\unlocker.exe")
WinWaitActive("Rechercher un dossier")
Send ("{RIGHT}")
Send ("{ENTER}")
Merci par avance des solutions que vous pourrez m apporter

Re: [..] Script Unlocker
Posté : mer. 30 juil. 2014 18:07
par blacksoul305
Bonjour,
en l'état ton script attend que la fenêtre soit active avant d'en faire quelque chose... je serai toi, pour être sur que tout se déroule bien, je placerai plutôt une condition du style
Si tu tiens à utiliser Send à la place de ControlSend, dans ces cas là il faut bien donner le focus à ta fenêtre et donc on a :
Code : Tout sélectionner
If WinExists("Rechercher un dossier") Then
WinActivate("Rechercher un dossier")
Send...
EndIf
Si malgré tout ça ne marche pas, est-tu sûr que le titre de la fenêtre est correct ? As-tu utilisé ControlViewer ou AutoItWindowsInfo ?
Re: [..] Script Unlocker
Posté : mer. 30 juil. 2014 18:57
par orax
Unlocker peut aussi être commandé en ligne de commande.
Re: [..] Script Unlocker
Posté : mer. 30 juil. 2014 19:05
par TommyDDR
Re: [..] Script Unlocker
Posté : mer. 30 juil. 2014 20:21
par shuradoko999
cool je vais tester tout ca et je passerai en resolu si c est bon merci encore

Re: [..] Script Unlocker
Posté : jeu. 31 juil. 2014 22:37
par shuradoko999
Bonjour a tous
malheuresement ca ne marche pas plus avec
la commande if winexists
j ai verifier la fenetre avec windows info c est bien le titre :
"Rechercher un dossier"
Par contre elle est composer de 2 parties une static
et la 2 eme systreeview32 qui est celle qui m interesse
Je rentre un peu plus dans les details
il s agit de creer un executable avec autoit qui peux supprimer
un fichier templates.dll qui se trouve a la racine de c:
sauf que ce fichier est toujours en cours d utilisation
voila pourquoi unlocker me paraissait la bonne solution car il le supprime
qu il soit utiliser ou pas
il reste peu etre aussi unlocker en ligne de commande mais je n ai rien trouver a
ce sujet
merci par avance

Re: [..] Script Unlocker
Posté : jeu. 31 juil. 2014 23:36
par orax
Il suffit de taper unlocker /? dans une console pour avoir les paramètres de la ligne de commande.
Re: [..] Script Unlocker
Posté : ven. 01 août 2014 00:08
par mikell
Code : Tout sélectionner
Run(@ProgramFilesDir & '\Unlocker\unlocker.exe "C:\fichier_à_virer.txt" /s /d')
Re: [..] Script Unlocker
Posté : ven. 01 août 2014 00:33
par shuradoko999
Re
Merci beaucoup mikell ca marche
par contre cela ne marche qu en administrateur
pour le mode utilisateur :
j ai donc ajouter ce morceau de code:
► Afficher le texte
Code : Tout sélectionner
$strAdminNom = "admintesto"
$strAdminPasswd = "223622"
; la variable suivante contient le nom du script compilé
$strCommande = "unlocker.exe"
; on vérifie si on est administrateur ou pas
If Not IsAdmin() Then
RunAs($strAdminNom, @ComputerName, $strAdminPasswd, 0, $strCommande, @ScriptDir)
Else
Run(@ScriptDir & '\unlocker.exe "C:\templates.dll" /s /d')
EndIf
mais cela ne marche pas ca m ouvre unlocker sans supprimer le fichier
y aurait il une autre solution svp ?
merci

Re: [..] Script Unlocker
Posté : ven. 01 août 2014 00:41
par mikell
Tu as essayé #RequireAdmin en tête de script ?
Re: [..] Script Unlocker
Posté : ven. 01 août 2014 00:48
par shuradoko999
Re
je l ai ajouter
ca ne marche pas ca m ouvre la fenetre executer en tant que
d autres solutions ?
merci

Re: [..] Script Unlocker
Posté : ven. 01 août 2014 01:43
par orax
Le comportement semble normal, Unlocker devra avoir les droits administrateur donc si les droits sont suffisants, Run(... est exécuté sinon c'est RunAs(...
En fait, #RequireAdmin indique juste que le script doit être lancé avec des droits administrateur. Par exemple si celui-ci est lancé par l'utilisateur Juste qui est juste utilisateur, il y aura justement une demande d'élévation des permissions. Non ? C'est ça, c'est juste ?
Re: [..] Script Unlocker
Posté : ven. 01 août 2014 12:16
par jguinch
orax a écrit :En fait, #RequireAdmin indique juste que le script doit être lancé avec des droits administrateur
Plus exactement, ça indique au script qu'il nécessite une élévation de privilèges pour s'exécuter.
Je sais, c'est juste le vocabulaire qui change...

Re: [..] Script Unlocker
Posté : ven. 01 août 2014 20:57
par shuradoko999
salut a tous
donc si mon script est bon
je nage un peu la lol
si je compile mon script sans la commande runas
et que je lance le exe en utilisateur avec executer en tant qu admin
et que je tape le mot de passe
ca marche sans probleme
par contre avec la commande runas ca ne fonctionne pas
je suis un peu perdu

Re: [..] Script Unlocker
Posté : ven. 01 août 2014 21:07
par orax
RunAs() ne lançait que unlocker.exe sans paramètre.
Avec ça, est-ce que c'est mieux ?
► Afficher le texte
Code : Tout sélectionner
#RequireAdmin
$strAdminNom = "admintesto"
$strAdminPasswd = "223622"
; la variable suivante contient le nom du script compilé
$strCommande = @ScriptDir & '\unlocker.exe "C:\templates.dll" /s /d'
; on vérifie si on est administrateur ou pas
If Not IsAdmin() Then
RunAs($strAdminNom, @ComputerName, $strAdminPasswd, 0, $strCommande, @ScriptDir)
Else
Run($strCommande)
EndIf
Re: [..] Script Unlocker
Posté : ven. 01 août 2014 21:48
par shuradoko999
Bonjour orax
avec votre script cela m ouvre egalement la fenetre "executer en tant que"
je me demande vraiment pourquoi cela ne marche pas

Re: [..] Script Unlocker
Posté : ven. 01 août 2014 22:11
par orax
J'avais mal compris. Il faut enlever #RequireAdmin alors. Sinon avec #RequireAdmin, si le script est exécuté avec un utilisateur standard, il y aura la fenêtre « Windows a besoin de votre autorisation pour continuer. » et il demandera le mot de passe.
Re: [..] Script Unlocker
Posté : ven. 01 août 2014 22:17
par jguinch
La fenêtre qui s'ouvre correspond au prompt de l'UAC...
Pour l'éviter, il existe plusieurs solutions, comme passer par une tâche planifiée, ou utiliser le vrai compte administrateur dans la commande RunAs. Du coup, plus besoin de #RequireAdmin dans ce cas.