CommandLineArgs avec plusieurs instances du programme
Bonjour,
J'ai ajouté en "click droit" dans le menu contextuel, un accès à mon programme ZIP (donc dans la base de registre sous ClassesRoot\*\shell puis sous ClassesRoot\directory
cela fonctionne parfaitement. En sélectionnant un fichier, quel qu’il soit, je peux l'envoyer dans mon programme pour qu'il soit zippé.
idem lorsque je choisi un répertoire.
le problème survient lorsque je sélectionne à la fois un répertoire et un fichier.
mon programme se lance alors deux fois.
j'ai tenté de cocher l'option "instance unique" dans les propriétés du projet, mais cela ne change rien.
comment puis-je faire ?
merci de votre aide
commandlineargs-plusieurs-instances-programme
Bonjour, merci pour ton aide
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| If My.Application.CommandLineArgs.Count > 0 Then
'j'ouvre par click droit
For I = 0 To My.Application.CommandLineArgs.Count - 1
MsgBox(My.Application.CommandLineArgs.Item(I) & Chr(13) & "Code dans le mainload")
'juste un ex avec msgbox pour voir ce que je récupère
Next
Else
'j'ouvre normalement
End If |
commandlineargs-plusieurs-instances-programme
Je suis en train de fouiner avec le StartupNextInstance et le Startup pour différencier tout ça
je ne sais pas encore si c'est la solution
commandlineargs-plusieurs-instances-programme
Merci pour ce conseil, je teste cela et je reviens vers vous
commandlineargs-plusieurs-instances-programme
Donc voici ce que je fais pour différencier répertoire de fichier
rien de bien compliqué je crois
Code:
1 2 3 4 5 6
| Dim Repertoire As Boolean = File.GetAttributes(My.Application.CommandLineArgs.Item(I)).HasFlag(FileAttributes.Directory)
If Repertoire = True Then
MsgBox(My.Application.CommandLineArgs.Item(I) & " est un répertoire")
Else
MsgBox(My.Application.CommandLineArgs.Item(I) & " est un fichier")
End If |
mais j'ai besoin de boucler sur tous les Args car je les récupère pour mettre les valeurs dans un listbox
Quand je sélectionne 5 fichiers par exemple et que je click droit, mon programme fonctionne bien
Il boucle sur tous les fichiers et je peux récupérer leurs chemins pour l'écrire dans un listbox
Là ou cela se complique c'est quand je sélectionne un ou plusieurs fichiers ET un ou plusieurs répertoires
commandlineargs-plusieurs-instances-programme
Désolé pour l'erreur
Je veillerai désormais.