Meilleur auteur de réponses
Drag and drop sur icone

Question
-
Réponses
-
J'ai trouvé : il suffit d'intercepter l’évènement MyApplication.Startup, qui génère le code dans Application.Designer.
Private Sub MyApplication_Startup(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup My.Settings.StartFiles.Clear() ' Raz collections de files initiales For Each f As String In e.CommandLine My.Settings.StartFiles.Add(f) ' Mémoriser les fichiers dragués Next End Sub
Cependant j'ai observé que cette classe était générée automatiquement et regénérée dès que l'on modifie quelque chose dans les propriétés de l'appli. Par exemple si on change de FormSplatch. Dans ce cas l’évènement Startup est perdu...
Alain- Marqué comme réponse AchLog mardi 28 décembre 2010 17:46
Toutes les réponses
-
Bonjour,
Lorsque vous faites un glissez déplacer d'un fichier vers un executable (ou le raccourci associé), Windows execute l'application en spécifiant en paramètre le fichier qui a été déposé.
Pour récupérez ce fichier, créer une méthode Main() :
Sub Main(ByVal args As String()) Dim monFichier As String If args.Length > 0 Then monFichier = args(0) Else Console.WriteLine("Aucun fichier n'a été spécifié") End If End Sub
Cordialement
Gilles TOURREAU - MVP C#
Architecte .NET/Consultant/Formateur chez Winwise
Blog : http://gilles.tourreau.fr
- MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5
- MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5 -
Ok Gilles, merci.
Mais je suis un peu nul sans doute... J'ai bien ajouté un module avec une Function Main mais... devinez quoi ? Elle n'est pas appelée...
En fait je ne sais pas bien comment ajouter ce Main. et l'aide en ligne ne le dit pas explicitement. MyApplication montre bien la déclaration d'un Main mais VisualStudio indique que la procédure est cachée.
Merci de votre conseil.
Alain -
J'ai trouvé : il suffit d'intercepter l’évènement MyApplication.Startup, qui génère le code dans Application.Designer.
Private Sub MyApplication_Startup(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup My.Settings.StartFiles.Clear() ' Raz collections de files initiales For Each f As String In e.CommandLine My.Settings.StartFiles.Add(f) ' Mémoriser les fichiers dragués Next End Sub
Cependant j'ai observé que cette classe était générée automatiquement et regénérée dès que l'on modifie quelque chose dans les propriétés de l'appli. Par exemple si on change de FormSplatch. Dans ce cas l’évènement Startup est perdu...
Alain- Marqué comme réponse AchLog mardi 28 décembre 2010 17:46
-
-
Ok Gilles, merci.
Mais je suis un peu nul sans doute... J'ai bien ajouté un module avec une Function Main mais... devinez quoi ? Elle n'est pas appelée...
En fait je ne sais pas bien comment ajouter ce Main. et l'aide en ligne ne le dit pas explicitement. MyApplication montre bien la déclaration d'un Main mais VisualStudio indique que la procédure est cachée.
Merci de votre conseil.
AlainBonjour,
Autant pour moi, il fallait créer un "Module" (avec n'importe quel nom). Ajoutez dans ce module mon code précédent et dans les propriétés du projet (onglet Application), décochez la case "Activer l'infrastructure de l'application" et sélectionnez "Sub Main" dans objet de démarrage.
Pour information : Le Main() est la première méthode qui est appelé par Windows au démarrage de votre application...
Cordialement
Gilles TOURREAU - MVP C#
Architecte .NET/Consultant/Formateur chez Winwise
Blog : http://gilles.tourreau.fr
- MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5
- MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5 -
-
Bonjour,
Cela rejoint au même...
Cordialement
Gilles TOURREAU - MVP C#
Architecte .NET/Consultant/Formateur chez Winwise
Blog : http://gilles.tourreau.fr
- MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5
- MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5