PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → lanceappli explorer.exe
lanceappli explorer.exe
Iniciado por Fred2355, 19,abr. 2020 21:25 - 13 respuestas
Miembro registrado
236 mensajes
Publicado el 19,abril 2020 - 21:25
Bonjour à tous,

J'ai besoin d'ouvrir explorer dans un répertoire bien précis.
Comment faire avec lanceappli ou lanceappliassocié, ou autre.

Avez vous une idée?
Merci
Miembro registrado
948 mensajes
Publicado el 20,abril 2020 - 00:01
Bonsoir
cela devrait répondre à votre problème
DDELance("explorer.exe c:\temp", DDEActif, True)


--
« L'erreur ne devient pas vérité parce qu'elle se propage et se multiplie ; la vérité ne devient pas erreur parce que nul ne la voit. » Gandhi
Miembro registrado
948 mensajes
Publicado el 20,abril 2020 - 00:28
ps
si le le nom du réperoire contient des espaces il faut l'encadrer par caract(34)

--
« L'erreur ne devient pas vérité parce qu'elle se propage et se multiplie ; la vérité ne devient pas erreur parce que nul ne la voit. » Gandhi
Miembro registrado
948 mensajes
Publicado el 20,abril 2020 - 00:45
suite et fin
si vous désirez en plus sélectionner un fichier SANS L'OUVRIR
ProgramName est une chaîne = [
explorer.exe /select, "%1"
]
ProgramName = ChaîneConstruit(ProgramName, "D:\Musiques\Ismael Lo-Africa.mp3") //Répertoire et nom du fichier

DDELance(ProgramName, DDEActif, True)


--
« L'erreur ne devient pas vérité parce qu'elle se propage et se multiplie ; la vérité ne devient pas erreur parce que nul ne la voit. » Gandhi
Miembro registrado
236 mensajes
Publicado el 20,abril 2020 - 20:55
Bonsoir,

Merci pour ton retour rapide.
J'ai testé tes propositions, mais ca n'a pas matché.
Mon répertoire est contenu dans une variable chaîne SAIS_CHEMIN_PC
Cette variable peut varier au cours du programme.
Donc il faudrait quelque chose comme
ProgramName = ChaîneConstruit(explorer.exe, SAIS_CHEMIN_PC )
DDELance(ProgramName, DDEActif, True)
Mais j'ai testé ça et ça ne fonctionne pas.
Qu'en penses tu?

Merci
Miembro registrado
948 mensajes
Publicado el 20,abril 2020 - 22:33
Bonsoir
Erreur dans la ligne : ProgramName = ChaîneConstruit(explorer.exe, SAIS_CHEMIN_PC )
c'est : ProgramName = ChaîneConstruit(ProgramName, SAIS_CHEMIN_PC )qu'il faut mettre

--
« L'erreur ne devient pas vérité parce qu'elle se propage et se multiplie ; la vérité ne devient pas erreur parce que nul ne la voit. » Gandhi
Miembro registrado
236 mensajes
Publicado el 21,abril 2020 - 20:31
Bonsoir,
Merci pour ce message.
Quand j'ecris:

ProgramName est une chaîne = "explorer.exe"
ProgramName = ChaîneConstruit(ProgramName, SAIS_CHEMIN_PC )
DDELance(ProgramName, DDEActif, True)

l'explorateur s'ouvre Bibliothèques comme avant.

Quand j'ecris;
ProgramName est une chaîne = [ explorer.exe /select, "%1"]
ProgramName = ChaîneConstruit(ProgramName, SAIS_CHEMIN_PC )
DDELance(ProgramName, DDEActif, True)

J'ai une erreur à la compilation.
Qu'ai je mal ecris?

Merci.
Miembro registrado
4.362 mensajes
Publicado el 21,abril 2020 - 21:32
Bonjour,
https://doc.pcsoft.fr/fr-FR/index.awp?3024006
ProgramName est une chaîne = "explorer.exe /select %1"
ProgramName = ChaîneConstruit(ProgramName, SAIS_CHEMIN_PC )
DDELance(ProgramName, DDEActif, True)


--
Il y a peut être plus simple, mais, ça tourne
Miembro registrado
4.362 mensajes
Publicado el 21,abril 2020 - 21:36
EDIT:
ProgramName est une chaîne = "explorer.exe /select %1"
ProgramName = ChaîneConstruit(ProgramName, SansEspace(SAIS_CHEMIN_PC ))
DDELance(ProgramName, DDEActif, True)

Le "SansEspace" évitera le double espace entre select et le chemin okazou

--
Il y a peut être plus simple, mais, ça tourne
Miembro registrado
948 mensajes
Publicado el 21,abril 2020 - 23:22
Bonsoir
Vous n'avez pas bien compris ma réponse...
ProgramName est une chaîne = [
explorer.exe /select, "%1"
]
ProgramName = ChaîneConstruit(ProgramName, SAIS_CHEMIN_PC ) // remplace dans la variable ProgramName le %1 par le contenu du champ SAIS_CHEMIN_PC.
// au début ProgrammNane contient : explorer.exe /select, "%1"
// Si le champ SAIS_CHEMIN_PC contient (par exemple) : D:\WinDev 20\Personnel\Centre de Contrôle
// alors ProgramName, après l'instruction ChaîneConstruit, contiendra : explorer.exe /select, "D:\WinDev 20\Personnel\Centre de Contrôle"
// les doubles quotes faisant partie de la chaine ProgramName
DDELance(ProgramName, DDEActif, True)


Vous pouvez aussi déclarer la variable ProgramName de cette façon :
ProgramName est une chaîne = "explorer.exe /select, " + Caract(34) + SAIS_CHEMIN_PC + Caract(34) // Caract(34) renvoyant le caractère doubles quotes


Il n'est pas necessaire de faire un SansEspace(Sai_CHEMIN_PC). J'ai testé avec 10 espaces

Par contre, il est utile de tester l'existance du répertoire avec la fonction : fRépertoireExiste() ce qui donne
ProgramName est une chaîne = [
explorer.exe /select,"%1"
]
IF fRépertoireExiste(SAIS_CHEMIN_PC) THEN
ProgramName = ChaîneConstruit(ProgramName, SAIS_CHEMIN_PC)
DDELance(ProgramName, DDEActif, True)
ELSE
Erreur(SAIS_CHEMIN_PC + " nexiste pas !")
END


--
« L'erreur ne devient pas vérité parce qu'elle se propage et se multiplie ; la vérité ne devient pas erreur parce que nul ne la voit. » Gandhi
Miembro registrado
236 mensajes
Publicado el 22,abril 2020 - 09:27
Bonjour Philippe,

Merci pour ta patience et tes explications.
C'est déja beaucoup plus clair dans mon esprit.

Il y a une avancée! Maintenant explorer s'ouvre en c:\ mais pas en c:\Monrep\

En plaçant le test d’existence du répertoire, je n'ai pas de message d'erreur car mon MonRep est bien présent. Mais l'explorateur ne s'ouvre toujours pas dans MonRep.

Que dois je ajouter de plus?

Merci
Miembro registrado
11 mensajes
Publicado el 22,abril 2020 - 09:39
Bonjour,

Le code le plus simple:

sMondossier est une chaîne = "c:\Monrep\"
LanceAppliAssociée(sMondossier)


Bons développements,,

Cyril
Miembro registrado
236 mensajes
Publicado el 22,abril 2020 - 11:09
Ah!
Affectivement !
Pourquoi n'y ai je pas pensé !!
Merci!
Ca fonctionne !!!
Publicado el 22,abril 2020 - 19:53
Bonjour moi j'ai créé un bouton avec (champ bouton)
et j'ai mis dans la partie Clic sur Bouton
les données suivantes

---------------------------------------------------------

LanceAppliAssociée(SysRep(srMesDocuments))
SI ErreurDétectée ALORS
Erreur(ErreurInfo())
FIN