cs_Talere
Messages postés102Date d'inscriptionvendredi 29 mars 2002StatutMembreDernière intervention14 février 2013
-
21 nov. 2003 à 12:38
cs_Talere
Messages postés102Date d'inscriptionvendredi 29 mars 2002StatutMembreDernière intervention14 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 ?
cs_Talere
Messages postés102Date d'inscriptionvendredi 29 mars 2002StatutMembreDernière intervention14 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 ...
cs_moustachu
Messages postés1079Date d'inscriptionjeudi 14 novembre 2002StatutMembreDerniè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
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Talere
Messages postés102Date d'inscriptionvendredi 29 mars 2002StatutMembreDernière intervention14 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 ...