Renvoyer l'exécutable en cours

cs_Corvvin Messages postés 14 Date d'inscription vendredi 22 mai 2009 Statut Membre Dernière intervention 16 août 2009 - 14 août 2009 à 17:48
cs_Corvvin Messages postés 14 Date d'inscription vendredi 22 mai 2009 Statut Membre Dernière intervention 16 août 2009 - 16 août 2009 à 14:47
Bonjour,

Encore une chose qui a l'air toute simple a priori, mais qui me plonge dans des abîmes de perplexité.

J'utilise dans un script .vbs la propriété ScriptFullName de l'objet WScript pour renvoyer ce script même.

Jusque là, pas de problèmes.

Mais une fois compilé, ce n'est pas l'exécutable obtenu qui est renvoyé, mais son avatar .vbs temporaire situé dans un sous dossier de Application data.

Existerait-il donc une formule qui permettrait à un exécutable conçu en Visual Basic de se renvoyer lui-même ?

Peut-être avec un objet WshShell... ou la méthode Exec...

J'avoue que je possède mal ces concepts...

Merci déjà de votre patience.

Corwin

6 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
14 août 2009 à 18:22
En VB6, tu as App.Name qui te renvoie le nom de l'executable et App.Path pour son chemin


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
cs_Corvvin Messages postés 14 Date d'inscription vendredi 22 mai 2009 Statut Membre Dernière intervention 16 août 2009
16 août 2009 à 13:24
Oui, bien sûr.

Merci Casy

Mais je suis en VBS, qui apparemment ne reconnait pas App.

Il y a des astuces pour obtenir l'équivalent en .Net, mais je ne connais rien à ce langage.

Je me demandais si on ne pouvait pas arriver à la même chose en Visual Basic Scripting...


Corwin
0
cs_Corvvin Messages postés 14 Date d'inscription vendredi 22 mai 2009 Statut Membre Dernière intervention 16 août 2009
16 août 2009 à 14:26
... et il semble bien que oui.

C'était en effet très simple, et cela fait bel et bien appel à l'objet WshShell.

La propriété est CurrentDirectory.

Une code convenable pourrait être, par exemple :

[b]Set WshShell = WScript.CreateObject("WScript.Shell")
msgbox wshShell.CurrentDirectory/b

(j'avais été un moment égaré par CurDir, trouvé je ne sais plus où sur ce site).

Merci, et à la prochaine.

Corwin
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
16 août 2009 à 14:32
Bonjour,

Ouais ...
C'est ce qui arrive lorsque l'on "poste" dans la section[b] Accueil > Forum >
Visual Basic 6/b alors que l'on développe sous VBS (on obtient, ma foi, la réponse adéquate VB6 ...). A qui t'en prendre, dans un tel cas ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Corvvin Messages postés 14 Date d'inscription vendredi 22 mai 2009 Statut Membre Dernière intervention 16 août 2009
16 août 2009 à 14:34
Autant pour moi :

j'avais oublié de préciser que le but final était en fait de renvoyer le dossier contenant l'exécutable.

Ce qui est une question un peu différente, en effet.
Corwin
0
cs_Corvvin Messages postés 14 Date d'inscription vendredi 22 mai 2009 Statut Membre Dernière intervention 16 août 2009
16 août 2009 à 14:47
Ah!

Nos messages se sont croisés.
Rassures-toi, je ne m'en prends à personne.

En réalité, je n'ai pas vu, dans la liste des thèmes proposés, de sections concernant Visual Basic Scripting, et j'ai donc cliqué le plus approchant.

Peut-être fallait-il choisir parmi les premières lignes, mais je dois avoir un réflexe de fuite pavlovien dès que je vois écrit .NET...

Corwin
0
Rejoignez-nous