Lancement programme

cs_Talere Messages postés 102 Date d'inscription vendredi 29 mars 2002 Statut Membre Dernière intervention 14 février 2013 - 21 nov. 2003 à 12:38
cs_Talere Messages postés 102 Date d'inscription vendredi 29 mars 2002 Statut Membre Dernière intervention 14 février 2013 - 21 nov. 2003 à 15:36
Bonjour,

Je suis face à un problème crucial :
Je souhaite lancer un programme DOS à partir d'un fichier avec une passation du nom du fichier, soit la chaine "programme.exe" "%1" dans "shell\open\command" de la base de registre. Mon problème est qu'à la passation du nom, celui ci rest tronqué au premier espace ( ancien nom DOS... ), ce qui fait que ca ne marche pas évidemment.
Y-a-til une astuce afin de passer le nom DOS court (8 caractères avec tilde) plutot que le nom long avec les caractères spéciaux ?

Merci de votre aide.

Remarque, je suis sous win2k.

8 réponses

cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012
21 nov. 2003 à 13:27
C'est marrant j'ai le problème inverse sous XP. Et sans les guillemets à "%1" ça te donne quoi ?
0
cs_Talere Messages postés 102 Date d'inscription vendredi 29 mars 2002 Statut Membre Dernière intervention 14 février 2013
21 nov. 2003 à 15:05
J'ai essayer sans les guillemets mais c'est la même chose ...

A mon avis, il y a un foutu paramètre de MS DOS activé qui gère les noms longs et pas toi ... seulement j'arrive pas à trouver où elle est cette satanée case à cocher ...
0
cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012
21 nov. 2003 à 15:07
Le premier des deux qui a trouvé a gagner :o)
0
cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012
21 nov. 2003 à 15:11
Première piste ??

je ne sais pas si ça donner le nom du fichier aussi ...

Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal lBuffer As Long) As Long
Public Function GetShortPath(strFileName As String) As String
'KPD-Team 1999
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@Allapi.net
Dim lngRes As Long, strPath As String
'Create a buffer
strPath = String$(165, 0)
'retrieve the short pathname
lngRes = GetShortPathName(strFileName, strPath, 164)
'remove all unnecessary chr$(0)'s
GetShortPath = Left$(strPath, lngRes)
End Function
Private Sub Form_Load()
MsgBox GetShortPath("c:\Program Files")
End Sub
0

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

Posez votre question
cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012
21 nov. 2003 à 15:15
0
cs_Talere Messages postés 102 Date d'inscription vendredi 29 mars 2002 Statut Membre Dernière intervention 14 février 2013
21 nov. 2003 à 15:25
En effet, ça peut marcher pour toi, mais en fait, mon problème n'est pas là ...

J'ai un fichier compilé "C:\mes fichiers\titi.j" qui, en double cliquant dessus, lance "prog.exe" qui lui-même s'execute dans une fentre MS-DOS. Le problème est que le fichier executé dans toto.exe est "c:\mes.j" ( à cause de l'espace ).

Ce que je voudrais, c'est que le fichier soit plutot "c:\mesfic~1\titi.j".

Je pense que je me suis planté de rubrique dans le forum ...
0
cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012
21 nov. 2003 à 15:28
Damned, j'étais complètement à côté de ton prblème désolé. Il vaut mieux que tu reposte un autre message

Désolé
0
cs_Talere Messages postés 102 Date d'inscription vendredi 29 mars 2002 Statut Membre Dernière intervention 14 février 2013
21 nov. 2003 à 15:36
c'est quand même gentil de te part ...
meci pour ton aide.

A bientôt
0
Rejoignez-nous