[WD8] Exécution de WDOptimiseur en ligne de commande
Stagiaire WDF
Inscrit:
22/07/2004 18:13
De Montréal / Québec
Post(s): 17
Bonjour,

Dans notre application, on utilise le WDOptimiseur en ligne de commande comme ceci :
ExeRun(CompleteDir(fCurrentDir()) + "WDOptimiseur.EXE /Fic=" + psDataDir + " /option=4 /Sauve=Non", exeActive, exeWait)

et ca fonctionne très bien.

C'est juste qu'a la fin de l'optimisation, il y a une boîte d'info qui dit :
Citation :

L'optimisation des fichiers contenus dans le répertoire
'N:\Net3F\SMS_CL\Data' s'est terminée correctement.


Vue qu'il faut que j'attendre la fin de l'exécution de
WDOptimiseur.exe avant de continuer mon code, il faut que quelqu'un reste devant l'écran et appuit sur le bouton [OK].

En WinDev 7.5, j'utilisais la procédure suivante qui était lancer dans un thread apart pour simuler le clique sur le bouton [OK]
//Procédure pour traper les message envoyer par WDOptimiseur
PROCEDURE WaitForMsgWDO()
nHandle is int
nHandleBtn is int

LOOP
	IF fbEndThread THEN BREAK
	
	//Voir s'il ya une fenètre qui a WDOptimiseur comme titre
	nHandle = SysFenHandle("WDOptimiseur")
	IF nHandle <> Null THEN
		IF SysValidHandle(nHandle) THEN
			SysWinActive(nHandle)
			//Voir si dans la fenêtre il y a une bouton OK
			nHandleBtn = API("USER32", "FindWindowExA", nHandle, 0, "", "OK")
			IF nHandleBtn <> Null THEN
				//Si oui on simule le clic gauche
				SendMessage(nHandleBtn, 513, 0, 0) //LEFt MOUSE DOWN
				SendMessage(nHandleBtn, 514, 0, 0) //LEFT MOUSE UP
			END
		END
	ELSE
		//VOIR POUR LES ANGLOPHONES
		nHandle = SysWinHandle("WDOptimizer")
		IF nHandle <> Null THEN
			IF SysValidHandle(nHandle) THEN
				SysWinActive(nHandle)
				//Voir si dans la fenêtre il y a une bouton OK
				nHandleBtn = API("USER32", "FindWindowExA", nHandle, 0, 0, "OK")
				IF nHandleBtn <> Null THEN
					//Si oui on simule le clic gauche
					SendMessage(nHandleBtn, 513, 0, 0) //LEFt MOUSE DOWN
					SendMessage(nHandleBtn, 514, 0, 0) //LEFT MOUSE UP
				END
			END
		END
	END
	Multitask(-100)	
END


Le problème que j'ai, c'est qu'en Windev8, la boîte d'info qui
apparaît, n'a plus de Titre (WDOptimiseur) comme en WD75.
j'ai donc essayé avec cette commande:
nHandle = SysFenHandle("")

au lieu de
nHandle = SysFenHandle("WDOptimiseur")

mais ca ne fonctionne pas non plus.

Est-ce qu'il ya quelqu'on qui aurait une idée pour faire fermer cette
fenêtre.

Merci de vos réponse

Contribution le : 24/01/2005 16:08
_________________

RB-Power

......
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