Bonjour,
J'ai crée une association entre certain type de fichier et mon programme.
Lorsque je lance le fichier, mon programme associé se lance automatiquement et récupère l'argument envoyé par ligne de commande par l'OS.
Dans mon Formulaire principal, je récupère cet argument pour lancer directement le fichier via mon programme :
Ceci marche très bien sauf sur certain poste où l'OS renvoie la ligne de commande entre double quote ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 ... 'Récupération de la ligne de commande éventuelle passée en argument CmdLine = Command() CmdLnLen = Len(CmdLine) 'Ouverture si nécéssaire du fichier If CmdLine <> "" And CmdLnLen > 0 Then If Dir(CmdLine, vbHidden) <> "" Then ' File number FileNum = FreeFile ' Type scenario Scenario_Len = CmdLnLen ' Open the file which contains the scenario Open CmdLine For Random As FileNum Len = Scenario_Len + 10000 Get #FileNum, 1, ScenarioData Get #FileNum, 2, AnAssociation Get #FileNum, 3, Strats Close ....
Exemple :
Si je fais le code suivant pour tester
1 ) Cas qui fonctionne sur certain PC:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MsgBox "CmdLine : " & CmdLine MsgBox "CmdLnLen: " & CmdLnLen
-> CmdLine : D:\JFS\...\MonFichier.monExtension
-> CmdLnLen : 42
2 ) Cas qui pause problème:
-> CmdLine : "D:\JFS\...\MonFichier.monExtension"
-> CmdLnLen : 42
De plus vous remarquerez que la longueur de la chaine est identique ...
Bref, comment supprimer ces doubles quotes ...
un Replace(MaChaine, """, "") ... ne fonctionne pas
Comment expliquez vous ce phénomène en fonction des PC ... surtout que mon problème apparait sur 2 PC de même config et service pack (2000 SP4)
Merci d'avance pour votre aide
++
Partager