|
Lance une aplli windows depuis windev |
Iniciado por dominique.forest, set., 29 2005 5:45 PM - 7 respostas |
| |
| | | |
|
| |
Publicado em setembro, 29 2005 - 5:45 PM |
Je veux lancer un application installé normallement avec un installeur classique.
si dans windows je clique "démarrer \ Exécuter \ le nom de mon aplli" celle ci se lance sans probléme et sans que je précise le répertoire ou est installé l'appli.
Comment faire pour que depuis windev je puisse lancer cette appli sans préciser son répertoire ? J'ai essayé avec LanceAppli mais ça ne marche pas.
Merci pour vos réponse
Cordialement Dominique. |
| |
| |
| | | |
|
| | |
| |
Publicado em setembro, 29 2005 - 9:28 PM |
LanceAppli a besoin d'indiquer (au moins lors de sa config) le chemin de l'appli (via assistant).
Cela étant, il y a possibilité de faire différemment avec LanceAppliAssociée. Il suffit d'indiquer en paramètre un fichier avec l'extension de l'appli à lancer...mais toujours avec son chemin.
Donc finalement, cela vaut le coup de prendre 2 minutes pour localiser le chemin exact de l'appli à lancer via LanceAppli. |
| |
| |
| | | |
|
| | |
| |
Publicado em setembro, 29 2005 - 11:27 PM |
Dominique FOREST a écrit :
Je veux lancer un application installé normallement avec un installeur classique.
si dans windows je clique "démarrer \ Exécuter \ le nom de mon aplli" celle ci se lance sans probléme et sans que je précise le répertoire ou est installé l'appli.
Comment faire pour que depuis windev je puisse lancer cette appli sans préciser son répertoire ? J'ai essayé avec LanceAppli mais ça ne marche pas.
Merci pour vos réponse
Cordialement Dominique.
Bonsoir, il faut que cette appli soit dans le path
-- Cordialement, Chris |
| |
| |
| | | |
|
| | |
| |
Publicado em setembro, 30 2005 - 2:00 AM |
Salut
Démarrer > Exécuter fait appel à l'API ShellExecute que tu peux obtenir par la commande WLangage LanceAppliAssociée. Dans ce cas pas besoin de spécifier le path. Pour ce qui est des détails, les applis sont référencées (par les installeurs en général) dans la clé de registre HKLM\software\Microsoft\Windows\AppPath\<nom de l'exe>, la valeur par défaut contenant le chemin dudit EXE.
Kevin
"Dominique FOREST" <dominique.forest@peintamelec.com> a écrit dans le message de news: 433bf73b$1@news.pcsoft.fr...
Je veux lancer un application installé normallement avec un installeur classique.
si dans windows je clique "démarrer \ Exécuter \ le nom de mon aplli" celle ci se lance sans probléme et sans que je précise le répertoire ou est installé l'appli.
Comment faire pour que depuis windev je puisse lancer cette appli sans préciser son répertoire ? J'ai essayé avec LanceAppli mais ça ne marche pas.
Merci pour vos réponse
Cordialement Dominique.
|
| |
| |
| | | |
|
| | |
| |
Publicado em setembro, 30 2005 - 7:50 AM |
Bonjour
Perso pour lancer l'outil de messagerie par défaut je fais
LanceAppliAssociée("mailto:"+aaaa)
aaaa étant le nom du champs qui contient, dans ce cas, un e-mail
Didier |
| |
| |
| | | |
|
| | |
| |
Publicado em setembro, 30 2005 - 3:04 PM |
Salut,
Moi aussi j'ai une appli (créé en Windev) qui s'instal par défaut dans C:\ProgramFiles.......
Et lorsque je fais LanceAppliAssocié et bien il n'y a rien.
J'ai posé la question sur le forum, malheureusement sans résultat.
Je reste en suivi de ton post.
Pascal |
| |
| |
| | | |
|
| | |
| |
Publicado em outubro, 01 2005 - 12:23 PM |
Bonjour,
C'est normal que la commande LanceAppliAssocié() ne fonctionnera pas pour lancer votre application. puisque elle repose sur le principe que : un tel fichier ou tel extention de fichier est liée à l'application dans la base de registre - exemple : .doc = Winword, .xls = excel ....
Pour celà je vous ai créer une recette magique en se basant sur ce principe.
// A l'installation de votre application windev ou à son lancement : executer ce code dans une procedure./ Procedure LancementRapideDeMonApplication() //Choisir une exention non utilisable par aucun prog. exemple ".1" SI PAS RegistreExiste("HKEY_CLASSES_ROOT\.1") Chemin est une chaîne="" // Chemin="HKEY_CLASSES_ROOT\.1" SI RegistreCréeClé(Chemin) = Faux ALORS Erreur("Erreur lors de la création de la clé : ",Chemin) RETOUR FIN Chemin="HKEY_CLASSES_ROOT\Application\"+fExtraitChemin(ExeInfo(exeNom),fFichier+fExtension) SI RegistreExiste(Chemin) SI RegistreEcrit(Chemin, "",Caract(34)+ExeInfo(exeNom)+Caract(34)+Caract(34)+"%1"+Caract(34)) = Faux ALORS Erreur("Erreur lors l'écriture dans la clé : ",Chemin) FIN SINON SI RegistreCréeClé(Chemin) = Faux ALORS Erreur("Erreur lors de la création de la clé : ",Chemin) SINON Chemin+="\Shell" SI RegistreCréeClé(Chemin) = Faux ALORS Erreur("Erreur lors de la création de la clé : ",Chemin) RETOUR SINON Chemin+="\Open" SI RegistreCréeClé(Chemin) = Faux ALORS Erreur("Erreur lors de la création de la clé : ",Chemin) RETOUR SINON Chemin+="\Command" SI RegistreCréeClé(Chemin) = Faux ALORS Erreur("Erreur lors de la création de la clé : ",Chemin) RETOUR SINON SI RegistreEcrit(Chemin, "",Caract(34)+ExeInfo(exeNom)+Caract(34)+Caract(34)+"%1"+Caract(34)) = Faux ALORS Erreur("Erreur lors l'écriture dans la clé : ",Chemin) FIN FIN FIN FIN FIN FIN Chemin="HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.1" SI RegistreCréeClé(Chemin) = Faux ALORS Erreur("Erreur lors de la création de la clé : ",Chemin) RETOUR SINON SI RegistreEcrit(Chemin, "Application",Caract(34)+fExtraitChemin(ExeInfo(exeNom),fFichier+fExtension)+Caract(34)) = Faux ALORS Erreur("Erreur lors l'écriture dans la clé : ",Chemin) FIN FIN Chemin="HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.1\OpenWithList" SI RegistreCréeClé(Chemin) = Faux ALORS Erreur("Erreur lors de la création de la clé : ",Chemin) RETOUR SINON SI RegistreEcrit(Chemin, "a",Caract(34)+fExtraitChemin(ExeInfo(exeNom),fFichier+fExtension)+Caract(34))= Faux ALORS Erreur("Erreur lors l'écriture dans la clé : ",Chemin) FIN FIN FIN
//Dnas une autre application pour lancer votre 1ere application jste faire.
ResCréation est un entier = fCrée ("C:\Fichier.1") SI ResCréation <> -1 ALORS LanceAppliAssociée("c:\fichier.1") fSupprime("c:\fichier.1") FIN
//Vous pouver même dans n'importe quel emplacement créer un fichier texte 'vide' par Notepad et faites enregistrer sous 'VotreFichier.1' et lorsqu vous cliquer dessus surpris de voir votre application enfin se lancé.
Et vous êtes content pour toujours ....
Ali Hindi : AliDev7@yahoo.fr |
| |
| |
| | | |
|
| | |
| |
Publicado em outubro, 02 2005 - 9:39 AM |
Bonjour,
Bien sûre pour lancer n'importe quelle autre application qui en principe ne se lance pas par LanceAppliAssocié juste modifier dans la sollution citée en dessus:
fExtraitChemin(ExeInfo(exeNom),fFichier+fExtension par : VotreApplication.EXE et : Caract(34)+ExeInfo(exeNom)+Caract(34)+Caract(34)+"%1"+Caract(34) par : Caract(34)+CheminDeVotreApplication+Caract(34)+Caract(34)+"%1"+Caract(34)
//--------------------------------------------------------
2 ème méthode : Consiste à lancer une recherche de l'application avant son lancement par LanceAppliAssocié() mais c'est un peu lent.
CheminDepartRecherche est une chaine ASCIIZ sur 260="C:\" // ou autre path exp:"C:\Program Files"... MonApplication est une chaine ASCIIZ sur 260="Applicataion.EXE" Chemin est une chaine ASCIIZ sur 260 Res est un entier Res=AppelDLL32("imagehlp","SearchTreeForFile",&CheminDepartRecherche,&MonApplication,&Chemin) si Res alors creeRaccourci("c:\","Test",Chemin,"",sfaNormal,"") LanceAppliAssocié("""c:\Test.lnk""") sinon erreur("L'application n'est pas trouvée") fin
et 2 Méthodes pour Accélerer les lancements pour les applications fréquament utilisés.
Soit créer un fichier .ini où sont stockés les paths des applications fréquament lancés. ou créer un dossier où stocker les raccourcis créés après la 1ere manipulation.
Comme ça chercher d'abord dans le fichier ini ou le raccourci correspondant avant de lancer une recherche puis lancement.
Bon Dev.
Ali Hindi : Alidev7@yahoo.fr |
| |
| |
| | | |
|
| | | | |
| | |
|