[..] Multiples petites questions

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
JamesPatageule
Niveau 3
Niveau 3
Messages : 36
Enregistré le : mar. 21 avr. 2009 11:47
Status : Hors ligne

[..] Multiples petites questions

#1

Message par JamesPatageule »

Bonjour,

Après une belle expérience AutoIt bien enrichissante, je me retourne vers vous tout de même pour le paufinement de mon script.

Alors voila :

1 - J'ai trouvé un message de "Tiem" qui montre comment un script peut s'auto relancer en ADMIN

Code : Tout sélectionner

Local $sUserName = "Administrateur"
Local $sPassword = "P@ssw0rd"

If not IsAdmin() Then
RunAs($sUserName, @ComputerName, $sPassword, 0, @ScriptFullPath, @ScriptDir)
Exit
EndIf

; La suite du code comme si on est Admin.
Mais malheureusement cela ne marche pas et je ne sais pas pourquoi. Si je crée un script qui fait JUSTE le "RunAs" par contre ça marche bien. Sinon avec la méthode ci-dessus, il me demande quel utilisateur doit faire l'exécution.

Mais cette idée me plait bien et j'aimerais l'utiliser pour faire plus propre ...

2 - J'ai fait un "_BlockInputEx" pour Souris ET clavier grâce à l'UDF "BlockInputEx.au3" mais
2a - Un bon vieux "CTRL+ALT+SUPPR" est le seul qui marche encore ... Puis-je le bloquer aussi ?
2b - Je souhaite prévoir une solution spéciale "en cas de pépin" pour débloquer les inputs, je pense créer un raccourci clavier spécial (par exemple ALT+F12) et l'exclure de "_BlockInputEx" vu que c'est possible afin que lorsqu'il soit détecté, je quitte le programme. Est-ce fesable ?

3 - J'ai essayé d'utiliser l'UDF "NetCC.au3" pour parcourir la liste des connections réseaux existantes (LAN et WAN) et vérifier leur état (connecté ou non). Mais je n'arrive pas à le faire, je sais pas comment parcourir le résultat de "_NetCCGetList" même malgré les exemples ... Une idée svp ?

4 - J'ai trouvé de quoi me connecter à Active Directory, mais existe t'il un UDF pour OpenLDAP ?

5 - Coté GUI, je souhaite raffraichir l'affichage d'une fenetre dans une boucle. J'ai fait donc un GUISetState(@SW_SHOW, $hGui) sachant que $hGui est ma fenetre, mais cela ne marche pas ...
Je précise que le fond de ma fenetre est peint avec GDI+.

Désolé d'avoir regroupé ici, si besoin d'éclater 1 sujet par point, je le ferai sans soucis.

Merci d'avance pour votre aide.
Modifié en dernier par ani le jeu. 28 mai 2009 17:28, modifié 1 fois.
Raison : Ajout de la balise [..] dans le titre
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: Multiples petites questions

#2

Message par Iste »

1 - Essaye avec @UserName plutot que @ComputerName
(jai pas testé, mais ca me parrat tellement plus logique..)

2 - C'est (pout moi) innutile et dangereu. Si ton script plante, t'es coinsé. Je pense pas qu'on s'ammuse a faire CTRL ALT SUPPR pour le plaisir ^^' Et si tu met une hotkey de secoure.... ben... si le script a planté elle marchera pas.
Donc, a moin d'avoir de bonne raison, je te le déconseil !

3/4 je sais pas

5 - Pour "raffraichir une GUI" la seule solution est de la détruire et de la recreer. Mais je suis sur qu'il y a bien mieux a faire ! Comme tout symplement updater les controle voulu.
La aussi, je pense qu'il faudrait qu'on en sache plus pour pouvoir aider
Signez ici
JamesPatageule
Niveau 3
Niveau 3
Messages : 36
Enregistré le : mar. 21 avr. 2009 11:47
Status : Hors ligne

Re: Multiples petites questions

#3

Message par JamesPatageule »

Merci pour la réponse,
Iste a écrit :1 - Essaye avec @UserName plutot que @ComputerName
(jai pas testé, mais ca me parrat tellement plus logique..)
Oui désolé j'ai copié le code brut, mais je l'ai modifié et je le fait bien avec LOGIN, DOMAIN et PASS ^^

Je précise que le même code exactement, marche si je fait un launcher.

Exemple: Ca ne marche pas, fichier "testAutoAdmin.au3" :

Code : Tout sélectionner

$LOCAL_DOMAIN = @ComputerName
$LOCAL_LOGIN = "Administrator"
$LOCAL_PASS = "P@ssworD"

If Not IsAdmin() Then
    $cpt = $CMDLINE[1]
    If Not $cpt Then $cpt = 0
    $cpt = $cpt + 1
    If $cpt <= 3 Then
        RunAs($LOCAL_LOGIN, $LOCAL_DOMAIN, $LOCAL_PASS, 0, @ScriptFullPath & " " & $cpt, @ScriptDir)
    EndIf
    Exit
EndIf
Exemple: Ca marche, fichier "testAutoAdminLauncher.au3" :

Code : Tout sélectionner

$LOCAL_DOMAIN = @ComputerName
$LOCAL_LOGIN = "Administrator"
$LOCAL_PASS = "P@ssworD"

RunAs($LOCAL_LOGIN, $LOCAL_DOMAIN, $LOCAL_PASS, 0, @ScriptDir & "\testAutoAdmin.exe " & $cpt, @ScriptDir)
Arf, a tester avec un utilisateur qui est PAS admin bien sur ...
Iste a écrit :2 - C'est (pout moi) innutile et dangereu. Si ton script plante, t'es coinsé. Je pense pas qu'on s'ammuse a faire CTRL ALT SUPPR pour le plaisir ^^' Et si tu met une hotkey de secoure.... ben... si le script a planté elle marchera pas.
Donc, a moin d'avoir de bonne raison, je te le déconseil !
Je sais bien, merci du consseil, mais je sais ce que je veux faire ... lol ... La touche de secours plantera pas si on fork correctement ^^ Je veux absolument faire ça ... mdr
Iste a écrit :5 - Pour "raffraichir une GUI" la seule solution est de la détruire et de la recreer. Mais je suis sur qu'il y a bien mieux a faire ! Comme tout symplement updater les controle voulu.
La aussi, je pense qu'il faudrait qu'on en sache plus pour pouvoir aider
En fait le principe est, je crée une GUI avec un fond en GDI+ et un label et une progressbar simples. J'ai un timer qui fait avancer la progressbar et qui change le label. Mais Ca ne raffraichit pas le fond en GDI+ et donc si un truc se met devant, ça laisse une empreinte grise ...

Merci bcp en tous cas ^^
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: Multiples petites questions

#4

Message par ani »

Ne seriez-vous pas sous le système vista ?
Si la réponse est positif, il vous faudra déclaré ceux-ci #RequirAdmin
JamesPatageule
Niveau 3
Niveau 3
Messages : 36
Enregistré le : mar. 21 avr. 2009 11:47
Status : Hors ligne

Re: [..] Multiples petites questions

#5

Message par JamesPatageule »

non désolé tout en XP SP2 ^^
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Multiples petites questions

#6

Message par Iste »

Hum... dans le code "qui marche pas", @ScriptFullPath point-il un .au3 ? Si c'est le cas le probleme peut venir de la. Essaye en le compilant. Sinon.. heu... ben... sais pas..

Sinon, ben pour le CTRL-ALT-SUPPR ok, c'toi qui voie, mais je sais pas si autoit te laissera faire.

Pis pour GDI+, je m'y connais pas du tout ^^'
Peut etre faudrat-il laisser tomber le fond :/ Faut demander aux autres
Signez ici
JamesPatageule
Niveau 3
Niveau 3
Messages : 36
Enregistré le : mar. 21 avr. 2009 11:47
Status : Hors ligne

Re: [..] Multiples petites questions

#7

Message par JamesPatageule »

Oui le .AU3, j'ai oublier de dire faut le tester en compilé ^^ lol

Sinon pour le CTRL+ALT+SUPPR, à la limite ne rien faire pour vu que c'est systeme, mais ajouter un hotkey perso ça je veux ^^ genre ALT+F12 ou truc autre.

Oki merci qd même pour GDI+, j'espere que quelqu'un pourra ^^
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Multiples petites questions

#8

Message par Iste »

Bon alors pour le 1 du coup,je sais pas du tout :/ (je peux pas teste d'ou je suis)

et pis sinon, pour la hotkey, d'apres ce topic, je dirais qu'un _BlockInputEx(1, "!{F12}", "","") devrait marcher
Signez ici
JamesPatageule
Niveau 3
Niveau 3
Messages : 36
Enregistré le : mar. 21 avr. 2009 11:47
Status : Hors ligne

Re: [..] Multiples petites questions

#9

Message par JamesPatageule »

Ouaip je pensais aussi , mais _BlockInputEx(1, "!{F12}", "","") marche pas. Mais que le {F12} ca marche ... Peut etre que ca déconne un peu cet UDF, je sais pas ...

Je pousse les tests demain.
JamesPatageule
Niveau 3
Niveau 3
Messages : 36
Enregistré le : mar. 21 avr. 2009 11:47
Status : Hors ligne

Re: [..] Multiples petites questions

#10

Message par JamesPatageule »

Bonjour,

Alors j'ai avancé ...

Le _BlockinputEx et les combinaisons de touches c'est pas ça ...

Sinon pour le script en AUTO-ADMIN c'est OK, j'avais une LIB qui à l'init voulait etre admin. Je l'utilisait pas c'etais pour tests, donc je l'ai virée et la méthode de Thiem marche impec ^^

Pour le CTRL+ALT+SUPPR, je vais le laisser ...

Mais toujours mon probleme de refresh de mon fond de fenetre peint avec GDI+.
Je pourrais virer GDI+ si il est possible de redimensionner une image de fond PNG automatiquement sans GDI+, mais pas trouvé le redimentionnement ...

Merci d'avance
Répondre