Re :Arreter puis relancer l'appli??? Un bout de code !Merci bcp.
Stagiaire WDF
Inscrit:
23/01/2004 18:16
Post(s): 9
Bonjour à Tous et Toutes du Forum!
J'ai integre le GPW à mon appli. Dans une fenetre C de mon projet , je prévois un possible changement d'utilisateur : l'utilisateur A est celui qui a ouvert l'appli initialement, le nouvel utilisateur , appelons le B doit s'identifier dans C , s'il n'appartient pas au meme GROUPE que A , je voudrais quitter l'appli et la relancer du début .
Quel bout de code mettre dans un bouton de controle?? Merci Mille fois pour toutes les propositions des contributeurs et Animateurs Romu , Doc & tous les autres. Lhassane.

Contribution le : 08/03/2005 15:07
Créer un fichier PDF de la contribution Imprimer


Re: Re :Arreter puis relancer l'appli??? Un bout de code !Merci bcp.
Animateur WDF
Inscrit:
22/11/2004 11:23
Post(s): 255
Voici une possible piste :
1/ Récupérer le processus / l'identifiant de votre application en cours
2/ Relancer une nouvelle instance de votre exécutable en passant dans la ligne de commande l'identifiant récupéré ci-dessus
3/ Récupéré cet identifiant dans la nouvelle instance grâce à la fonction "LigneCommande" et fermer /tuer le processus de l'instance à fermer. Vous voilà devant votre application relancée.

Attention : Vous devez autoriser l'exécution de plusieurs instance de votre exécutable lors de la création de clui-ci

En espérant vous avoir guidé


Contribution le : 08/03/2005 15:13
Créer un fichier PDF de la contribution Imprimer


Re: Re :Arreter puis relancer l'appli??? Un bout de code !Merci bcp.
Stagiaire WDF
Inscrit:
23/01/2004 18:16
Post(s): 9
Merci bcp PopCorn pour ta réponse si rapide .
Mais comment la lettre en oeuvre, en terme d'instructions W_Langage ou API Windows??? Je ne suis pas un As!!!!
Mon groupware est en lancement automatique.
Lhassane.

Contribution le : 08/03/2005 15:19
Créer un fichier PDF de la contribution Imprimer


Re: Re :Arreter puis relancer l'appli??? Un bout de code !Merci bcp.
Animateur WDF
Inscrit:
22/11/2004 11:23
Post(s): 255
Voici un petit bout de code pour récupérer le PID de l'application lancée

cbuffer est une chaîne
cListeProcessus est une chaîne
pID est un entier = 0
j est un entier = 1

cListeProcessus = ExeListeProcessus ( exePID , exeNomCourt )

cbuffer = ExtraitChaîne(cListeProcessus,j,RC,DepuisDébut)
TANTQUE cbuffer <> EOT
	SI ExtraitChaîne(cbuffer,1,TAB,DepuisFin) = fExtraitChemin(ExeInfo(exeNom),fFichier+fExtension) ALORS
		pID = ExtraitChaîne(cbuffer,1,TAB,DepuisDébut)
	FIN
	j++
	cbuffer = ExtraitChaîne(cListeProcessus,j,RC,DepuisDébut)
FIN

Info(pID)


Pour tuer le process, vous pouvez essayer ceci :


ps est un entier  

//---pID est le numéro récupéré juste dans le code au dessus
ps =  AppelDLL32("kernel32","OpenProcess" , 1, Faux, pID)
SI ps ALORS
	SI AppelDLL32("kernel32","TerminateProcess" , ps, -9) ALORS
	       Info("Process tué avec succès !")

	SINON
       	Info("Impossible de tuer le process !")
	FIN
 SINON
	Info("Impossible d'ouvrir le process")
FIN


Le code pour tuer le process n'a pas été testé

Contribution le : 08/03/2005 15:37
Créer un fichier PDF de la contribution Imprimer


Re: Re :Arreter puis relancer l'appli??? Un bout de code !Merci bcp.
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
Voici une info trouvée sur la ML et tiré d'une réponse su ST ! Je l'ai conservé pour l'occasion... mais surtout pour mes travaux sur le groupware. Je n'ai pas encore testé !


Groupware utilisateur : Comment changer d'utilisateur pendant l'exécution d'une application (sans devoir relancer l'application ) ?

Nous vous conseillons d'étudier la solution suivante :
1 - Soit un groupware utilisateur en lancement "non automatique"
2 - Soit une fenêtre "LanceGroupware" définie en première fenetre du projet
3 - Cette fenêtre contient les champs suivants :
- ComboLogin (combo mémoire)
- MotPasse (champ de saisie de type texte)
- Un bouton Ok de type "Validation"
4 - Code source de cette fenêtre :
** Code de déclaration des variables globales de LanceGroupware :
gsNomProjet est une chaine = <Saisissez ici le nom de l'application>
gsNomFenêtrePrincipale est une chaîne = <Saisissez ici le nom de la fenêtre
principale du projet>


** Code diInitialisation de LanceGroupware
sRépertoireFichierDroits est une chaîne =
ComplèteRep(fRepEnCours())+"GPW_"+gsNomProjet +"\"
sRépertoireFichierUtilisateurs est une chaîne =
ComplèteRep(fRepEnCours())+"GPW_"+gsNomProjet +"\"
//Ouvreture du groupware
SI gpwOuvre(sRépertoireFichierDroits,sRépertoireFichierUtilisateurs ) =
gpwOk ALORS
//Déclaration du fichier GPWUTILISATEUR
GPWUTILISATEUR est une Source de Données
SI
HDéclareExterne(sRépertoireFichierUtilisateurs+"GPWUTILISATEUR.FIC","GPWUTIL
ISATEUR","PCSGPW2001") = Oui ALORS
POUR TOUT GPWUTILISATEUR
ListeAjoute(ComboLogin,GPWUTILISATEUR.login)
FIN
SINON
FinProgramme("Erreur lors de l'initialisation du groupware
utilisateur.",HErreurInfo())
FIN
Ouvre(gsNomFenêtrePrincipale )
FIN



** Code clic du bouton "Ok" :
//Vérification du Login
nRes est un entier= GPWLogin(ComboLogin..ValeurAffichée,MotPasse)
//Si le login a échoué ou ferme l'application
SI nRes<>gpwOk ALORS
SELON nRes
CAS gpwErreur : FinProgramme("Erreur à l'initialisation du groupware.")
CAS gpwUtilisateurInconnu : FinProgramme("Utilisateur inconnu.")
CAS gpwMotPasseInvalide : FinProgramme("Mot de passe invalide.")
FIN
FIN
//Récupération du prénom de l'utilisateur pour un message de bienvenue
sPrénom est une chaîne = gpwRecupInfoUtilisateur(ComboLogin..ValeurAffichée)
Info("Bienvenue " + sPrénom)
//Ouverture de la fenêtre principale de l'application
Ouvre(gsNomFenêtrePrincipale)




Contribution le : 08/03/2005 15:56
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


Re: Re :Arreter puis relancer l'appli??? Un bout de code !Merci bcp.
Anonyme
Merci à vous PopCorn ( je m'en vais fouiner dans cette direction..)
Merci aussi à Romu , j'ai déja lu ce post sur la ML , je crois qu'il faut un GPW en ouverture manuel pour la mise en oeuvre , qu'est devenu ton projet personnel remanié GPW7 ???( Pourquoi n'est-il plus disponible , tu as parlé de tentative de malversations à son sujet , que s'est-il donc passé ??? )

Contribution le : 08/03/2005 18:35
Créer un fichier PDF de la contribution Imprimer


Re: Re :Arreter puis relancer l'appli??? Un bout de code !Merci bcp.
Anonyme
Pour ROMU ( suite )
Le code précédent ne gère restaure pas les droits au nouvel utilisateur au cas ou ils sont différents de ceux du premier . Est-ce vrai ??

Contribution le : 08/03/2005 18:48
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2