2010-01-24 7 views
0

J'utilise ce code pour charger plusieurs fichiers en utilisant le menu contextuel de Windows, mais le problème est que l'application est ouverte plusieurs fois en tant que fichiers que l'utilisateur a sélectionnés.Ouvrir plusieurs fichiers en utilisant des arguments

Par exemple: Si je sélectionne 14 fichiers, les ouvrir avec l'application, l'aplicacion est ouverte 14 fois et ne charge que le formulaire.

Mais il existe un moyen d'envoyer tous les arguments une fois? Parce que% 1 n'envoie qu'un seul fichier, ou il y a par exemple un% 2 qui envoie tous les fichiers dans un argument? Si il y a trouvé trouvé.

Ce mon code actuel:

Public Class Program 

Public Shared Sub Main() 

    Dim FurBase As New Core.clsDatabase 

    FurBase.Directory = My.Application.Info.DirectoryPath 

    Dim returnValue As String() 

    returnValue = Environment.GetCommandLineArgs() 
    If returnValue.Length > 1 Then 

     FurBase.AddTemporalFilepath(returnValue(1).ToString) 

    End If 

    If Not Process.GetProcessesByName(Process.GetCurrentProcess.ProcessName).Length > 1 Then 
     ShowUploader() 
    End If 

End Sub 

Private Shared Sub ShowUploader() 
    Dim Uploader As New frmUploader 
    Application.EnableVisualStyles() 
    Application.Run(Uploader) 
End Sub 

End Class 

S'il vous plaît me dire ce que pense sur le code et si ther est un moyen de l'améliorer.

Cordialement ~

Répondre

0

Je lisais à ce sujet aujourd'hui; semble que vous aurez besoin de faire face à un serveur DDE.

Il y a une vieille question qui peut vous aider: What is the best .net alternative to dde for file associations?

+0

Oui, j'utilise cela. Mais la commande exécute l'applicacion pour chaque fichier. Le meilleur devrait être d'envoyer un gros argument avec tous les fichiers al et les tronquer à la place exécuter l'application et ouvrir le fichier pour chaque fichier. Par exemple: "C: \ app.exe fichier1.txt fichier2.txt fichier3.txt" –

+0

Comme je l'ai compris, votre programme se déclenchera _n_ fois, mais, par DDE ou IPC, vous en informerez le premier pour en ajouter d'autres fichiers –

+0

Oui, c'est vrai. –

Questions connexes