mayssa_kh3
Messages postés28Date d'inscriptionjeudi 20 avril 2006StatutMembreDernière intervention 2 juin 2006
-
17 mai 2006 à 10:14
mayssa_kh3
Messages postés28Date d'inscriptionjeudi 20 avril 2006StatutMembreDernière intervention 2 juin 2006
-
18 mai 2006 à 16:17
bonjour
est-ce-qu'il ya une fonction qui retourne le path d'un executable?
a propos , je travaille avec le vb.net.
Merci d'avance!!
Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
mayssa_kh3
Messages postés28Date d'inscriptionjeudi 20 avril 2006StatutMembreDernière intervention 2 juin 2006 17 mai 2006 à 10:49
salut Henry
j'ai essayé ta commande mais ça m'a rien donné.
ce ke je veux c'est d'obtenier le chemin d'un excecutable pour l'utiliser
comme parametre dans la commande shell.
merci d'avance
Sinon, MSDN, App.Path (il te donne une partie de la réponse, migration VB6 -> VB.NET).
Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
mayssa_kh3
Messages postés28Date d'inscriptionjeudi 20 avril 2006StatutMembreDernière intervention 2 juin 2006 17 mai 2006 à 11:32
salut
vous m'avez mal compris.ta commande me retourne le chemin de mon projet .
JE vais te decrire mon travail.
il consiste appeler un excecutable(un application)par exemple : je vais appeler
le wordpad .
avec la commande sell je suis capable de realiser cette operation ainsi
shell("chemin de l'executable", AppWinStyle.NormalFocus)
je veux avoir une commande qui me retourne le chemin du wordpad sans taper son chemin manuellement.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 17 mai 2006 à 13:28
tu t'es, dès le départ mal exprimée, ne stipulant pas qu'il s'agissait d'un exe externe
il est toujours dangereux de lancer des programmes ainsi, en se fiant simplement a leur noms....(cf chevaux de troie)
je me demande si Shell a besoin du chemin complet.....
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 17 mai 2006 à 15:01
Tout est dans la doc ...
[...]If you do not know the path to the program, you can use the My.Computer.FileSystem.GetFiles Method to locate it. For example, you can call My.Computer.FileSystem.GetFiles("C:", True, "testFile.txt"), which returns the full path of every file named testFile.txt anywhere on drive C:\. [...]
j'ai lancé VB, tapé Shell ( et ce tip est apparu....
au pire, tu peux faire un Process.Start, pas besoin là du chemin complet
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 17 mai 2006 à 19:25
Salut,
Si ça marche pas pour wordpad, effectivement, faut s'inquiéter !
Shell trouve le fichier très probablement uniquement si son répertoire est dans la variable d'environement path, dans le dossier courant, dans le dossier de l'exe... Mais s'il se trouve quelque part perdu dans "Mes documents " ou autre, shell ne le trouvera jamais.
Pour GetFiles, c'est très sympa, mais si le dur fait 160 Go, tu peux revenir dans une heure pour voire si la commande a trouvé le fichier...
Si tu est l'auteur de l'autre exe, tu devrais pouvoir mettre son chemin d'accès dans la base de registre à l'installation.
Si tu n'est pas l'auteur, tu peux chercher d'éventuelles traces de son chemin dans la base de registre. (Commande "executer", taper "regedt32", puis rechercher). Tu pourrais récupérer ses traces par la suite avec du code.
Renfield -> Pour l'appel par nom je te suis pas... Comment faire ? Vérifier la taille ? La version ? Cela peut être presque aussi facilement copier que le nom...
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 17 mai 2006 à 23:03
Je cite ton premier message :
il est toujours dangereux de lancer des programmes ainsi, en se fiant simplement a leur noms....(cf chevaux de troie)
Je vois pas comment s'assurer qu'un exe est bien le bon. En fait si maintenant que je l'écrit. En vérifiant deux trois octets, pour limiter les risques. Mais j'était curieux de connaitre le fond de ta pensé. Je me vois pas vérifier notepad...
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 17 mai 2006 à 23:31
je déconseille juste de lancer, dans un programme, directement Shell("Notepad")
derrière, ca parcoure le rep de l'appli, pluis les dossiers des variables d'environnement....
qui empeche un virus/cheval de troie d'être mis dans ce repertoire, ou
dans un des repertoire du %PATH% et d'être executé a la place du
celebre editeur de texte ?
en lancant C:\Windows\Notepad.exe (attention, je ne dit absolument pas de mettre le chemin en dur ^^)
on est deja plus sur.... (rien n'emepche Notepad.exe d'avoir été remplacé...)
je prefere bien souvent lancer l'editeur de texte choisi par le user....
(en faisant, par exemple un ShellExecute sur le fichier texte, directement, sans préciser de programme)
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 18 mai 2006 à 10:45
et bien c'est chouette, tu as le chemin complet ^^
si le fichier pointé existe, et que tu y a accès, il n'y a aucune raison que tu ne puisse le lancer...
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 18 mai 2006 à 12:30
Si tu souhaite distribuer une appli ayant la capacité de lancer cet
executable (Un sniffer en l'occurence), tu peux déjà te ruer sur la
variable d'environement ProgramFiles, qui renvoie par exemple C:\Program Files.
Ensuite, tu complète avec \Ethereal\ethereal.exe et tu le balance sur ta commande.
Program Files étant l'emplacement le plus logique, ça devrait marcher pour pour bon nombre d'utilisateurs.
Si ça marche pas, tu peux lancer les commandes de recherche situées
plus haut, ou demander à l'utilisateur le chemin du fichier (S'il
utilise un sniffer, il devrait savoir ou il l'a mis...)
Si tu veux travailler plus finement, comme je l'ai dit plus haut, tu
dois regarder si cette appli met son chemin d'une manière ou d'une
autre dans la base de registre.
Fait une recherche de \ethereal par
exemple. Il y a pas mal d'appli qui mette le chemin d'accès d'un
fichier de désinstallation du programme qui est appelé lorsque l'on
clique sur supprimer dans ajout/suppression de programme.
(Attention, ce n'est pas parcequ'il est dans cette liste que le chemin
d'un fichier de désinstallation est dans la base de regsitre).