[R] Aide pour console admin (v2)

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
lerin57
Niveau 4
Niveau 4
Messages : 97
Enregistré le : mer. 30 sept. 2009 12:50
Status : Hors ligne

[R] Aide pour console admin (v2)

#1

Message par lerin57 »

Bonjour,

Avec l'aide des précieux conseil des admins et experts de ce site, j'ai élaboré une gui permettant d'exécuter certains programmes permettant de lancer des fonctions en tant qu'administrateur, dans une session utilisateur avec des droits restreints.
Pour rappel, nous effectuons des PMD avec des outils qui ne nous permettent pas toujours de changer de session.

voici les détails de mon scripts :
► Afficher le texte
Les problemes que je rencontre sont les suivants :
- Le fait de lancer un bouton ne donne aucune réaction, ce qui laisse sous entendre qu'un controle doit sans doute etre effectué sur les champs GUICtrlCreateInput("", 120, 32, 225, 21)
A ce sujet, la recherche dans l'aide n'as pas encore été très fructueuse ( ne m'en veuillez pas, je me fait une meilleure idée sur des exemples)

- Est il possible de mettre en place une condition indiquant que les champs liés à $nusername et $nuserpassword soient remplis avant execution de n'importe quelle fonction.

- Vous remarquerez une zone commentée :
► Afficher le texte
J'ai tenté ici de masquer le panneau de la GUI lorsque la console mmc se lance, mais l'operation ne fonctionne qu'une seule fois.

- vous remarquerez la présence de deux explorateurs alternatifs :a43.exe et 2xplorer
J'execute la GUI dans le dossier parent de ces explorateurs.
Je comptait crée un fichier autoextractible permettant de lancer la gui, ce qui n'est pas spécialement complexe, je voudrais cependant savoir si autoit prévoit un genre de module "installeur" comme celui qui a été fait avec le pack débutant (merci Tlem).

- Enfin, et je ne l'ai pas encore testé, est il possible, des que l'on active la fonction de sortie, de supprimer le répertoire d'exécution ainsi que la gui ?

Je me doute que cela fait beaucoup de chose, mais je vous remercie par avance si vous pouvez m'aider pour au moins une de ces questions.
Modifié en dernier par lerin57 le lun. 16 nov. 2009 12:49, modifié 1 fois.
lerin57
Niveau 4
Niveau 4
Messages : 97
Enregistré le : mer. 30 sept. 2009 12:50
Status : Hors ligne

Re: [..]Aide pour console admin (v2)

#2

Message par lerin57 »

J'ai Finalement put résoudre mon premier probleme,
Après avoir un peu plsu cherché, j'ai compris qu'il fallait ajouter le parametre GUICtrlRead sur les variable $nusername et $npassword.

Il me reste les dernieres questions a résoudre, à savoir cacher la fenêtre pendant l'exécution d'une fonction, créer un installeur, et supprimer le répertoire parent du fichier source et tout ce qu'il contient après fermeture de la GUI.

Si quelqu'un a des idées, je l'en remercie par Avance
Modifié en dernier par lerin57 le ven. 13 nov. 2009 13:09, modifié 1 fois.
lerin57
Niveau 4
Niveau 4
Messages : 97
Enregistré le : mer. 30 sept. 2009 12:50
Status : Hors ligne

Re: [..]Aide pour console admin (v2)

#3

Message par lerin57 »

Bonjour,

Mon troisieme probleme est résolu, avec l'aide de innosetup, j'ai put créer l'installeur adequat.

Par contre, il me reste un dernier probleme, et cette fois ci, j'ai vraiment besoin d'aide.

Il faut que, lorsqu'une fonction ou application est appelée, la GUI passe en cachée (valeur @sw_hide).
La Gui doit réapparaitre lorsque l'application est refermée.

Voici en partie la fonction que j'ai testée :

Code : Tout sélectionner

Func mmc()
            $nRes = RunAs(GUICtrlRead($nUsername), $nDomain, GUICtrlRead($nPassword), 0, "mmc.exe")

                WinSetState("console administration", "", @SW_HIDE)
            If WinWaitClose("Console1") then WinSetState("console administration", "", @SW_SHOW)
            EndIf
Enfunc
Cela me renvoie une erreur bizarre influant sur toute les autre fontion.

Quelqu'un peut il m'aider s'il vous plait ?
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..]Aide pour console admin (v2)

#4

Message par orax »

Quelque chose comme ça :

Code : Tout sélectionner

Func mmc()
    $nRes = RunAs(GUICtrlRead($nUsername), $nDomain, GUICtrlRead($nPassword), 0, "mmc.exe")
    WinSetState("console administration", "", @SW_HIDE)
    While ProcessExists($nRes)
        Sleep(100)
    WEnd
    WinSetState("console administration", "", @SW_SHOW)
EndFunc   ;==>mmc
L'erreur bizarre était peut-être causée par le Enfunc, au lieu de Endfunc.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
lerin57
Niveau 4
Niveau 4
Messages : 97
Enregistré le : mer. 30 sept. 2009 12:50
Status : Hors ligne

Re: [R]Aide pour console admin (v2)

#5

Message par lerin57 »

Bonjour,

Merci ORAX, c'est exactement ce que je cherchais.

Ce qui est frustrant, c'est que j'ai déja pensé à la fonction sleep, mais je supposais que celle ci n'agissait que sur un laps de temps définie.

voici mon script complet :
► Afficher le texte
Je marque le sujet en résolu.

Merci encore à tous.
Répondre