Drag vers une application externe [Résolu]

Signaler
Messages postés
15
Date d'inscription
samedi 18 janvier 2003
Statut
Membre
Dernière intervention
21 mars 2013
-
Messages postés
15
Date d'inscription
samedi 18 janvier 2003
Statut
Membre
Dernière intervention
21 mars 2013
-
Bonjour,

Je pose rarement des questions car en général, la réponse se trouve toujours dans ces pages...
... Mais il se trouve que depuis 20H ce soir (il est 2H30 du matin), je tourne en rond...!

Etat des lieux :
J'ai une application développée en VB.NET (2010) permettant de gérer des fichiers audios d'une part.
J'ai un logiciel appelé Sound Forge (V10) d'autre part

Besoin :
Je souhaite effectuer un drag'n Drop depuis l'application VB.NET vers Sound Forge d'un fichier Audio répertorié dans une list box.
Sound Forge est sensé me l'afficher.

Depuis l'explorateur Windows ca fonctionne parfaitement...

J'arrive à coder un drag'n drop qui me copie le fichier sur le bureau de windows, mais je n'arrive pas à faire la même chose pour l'ouvrir sous sound forge... Quand je passe mon grad sur l'appli sound forge, j'ai l'icone 'sens interdit' ;) affichée.... Et rien n'y fait.

Par tous les dieux que chacun des hommes (et femmes) prient chaques jours... Aidez un vieux comme moi qui s'est mis au développement trop tard vu son age.....!

Mille merci par avance !


Steph

11 réponses

Messages postés
420
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
15 juillet 2014
6
En résumé

Private Sub ListBox3_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox3.MouseMove 
  If e.Button = Windows.Forms.MouseButtons.Left Then 
   Dim TFile() As String = New String() {(CType(ListBox3.Items(ListBox3.SelectedIndex), Fichier).Nom_Complet)} 
   Dim dta As New DataObject(DataFormats.FileDrop, TFile) 
   ListBox3.DoDragDrop(dta, DragDropEffects.Copy) 
  End If 
End Sub 


Il faut une table de string car vous pouvez envoyer plusieurs fichiers en une fois
Messages postés
15
Date d'inscription
samedi 18 janvier 2003
Statut
Membre
Dernière intervention
21 mars 2013

Mille merci !

Ca marche parfaitement bien. J'ai bien noté mon erreur.

Merci encore pour cette contribution.


Steph
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Bonjour,
Depuis l'explorateur Windows ca fonctionne parfaitement...

Qu'entends-tu très exactement par là ?
Car passer un fichier d'un répertoire ou d'un dossier à l'autre n'est en rien le passage d'un fichier d'un répertoire ou dossier vers une application

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Messages postés
15
Date d'inscription
samedi 18 janvier 2003
Statut
Membre
Dernière intervention
21 mars 2013

Tout à fait d'accord avec toi Ucfoutu, j'ai bien compris celà.

Lorsque je fais un drap 'n drop d'un fichier MP3 par exemple, depuis l'explorateur window vers mon logiciel sound forge, ce dernier ouvre mon MP3 : tout fonctionne.
Par contre, je n'arrive pas à faire la même chose depuis une listbox (dans mon appli vb.net) répertoriant mes fichiers : lorsque je tente le drop sur sound forge, l'icone passe au 'sens interdit' et je ne peux pas l'ouvrir via le glisser-déplacer.


Steph
Messages postés
420
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
15 juillet 2014
6
Bonjour,

Essayez ceci

Dim fileas() As String = New String() {"C:\Kalimba.mp3"} 'Chemin du fichier à remplacer bien sur
Dim dta As New DataObject(DataFormats.FileDrop, fileas)
'Début du drag (objet à remplacer bien sur)
Me.Label1.DoDragDrop(dta, DragDropEffects.Copy)
Messages postés
15
Date d'inscription
samedi 18 janvier 2003
Statut
Membre
Dernière intervention
21 mars 2013

Bonjour Foliv57,

Merci pour cette réponse rapide.

Il y a du mieux : lors du passage sur l'application sound forge, ma souris est représentée par la bonne icone (je n'ai plus mon "sens interdit")
Toutefois, lorsque je relâche mon bouton.... Malheurs... Rien ne se passe... Le fichier ne s'ouvre pas... Le fichier MP3 n'est pas ouvert par soundForge... Je teste quelques combinaisons de mon côté... Si tu as la solution avant moi, n'hésite pas !

Encore merci à tous les 2 de vous intéresser à mon problème.


Steph
Messages postés
15
Date d'inscription
samedi 18 janvier 2003
Statut
Membre
Dernière intervention
21 mars 2013

Après quelques tests rapides... Petite précision :

- lorsque je fais un DragDrop depuis l'explorateur vers sound-forge, si le fichier est un fichier audio, il s'ouvre, sinon, j'ai un message d'erreur m'indiquant que sound forge est incapable d'ouvrir le fichier.
- lorsque je fais la même opération depuis la listbox de mon application, l'icone change bien lorsque je passe sur sound forge, mais que le fichier soit un fichier audio ou non, rien ne se passe, ni une ouverture, ni un message d'erreur...

Il doit manquer un petit truc... Mais quoi ?...

Voici le code actuel :

Private Sub ListBox3_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox3.MouseMove
If e.Button = Windows.Forms.MouseButtons.Left Then
Dim TFile As New String(CType(ListBox3.Items(ListBox3.SelectedIndex), Fichier).Nom_Complet)
Dim dta As New DataObject(DataFormats.FileDrop, TFile)
dta.GetData(TFile)
DoDragDrop(dta, DragDropEffects.Copy)
End If
End Sub

Steph
Messages postés
420
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
15 juillet 2014
6
Le problème c'est que j'ai fait un essai avec source forge pro 10 et que le fichier s'ouvre bien, donc je vais avoir du mal à vous aider plus que çà.

Il faut bien penser à utiliser une table de string pour la variable "fileas" et pas un string, sinon ça ne fonctionne pas.

Le chemin doit bien être le chemin complet d'accès au fichier MP3.

Pour plus d'aide, pensez à poster votre partie de code qui commence le drag.
Messages postés
420
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
15 juillet 2014
6
Dim TFile As String = New String() {(CType(ListBox3.Items(ListBox3.SelectedIndex), Fichier).Nom_Complet)} 
Messages postés
420
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
15 juillet 2014
6
dta.GetData(TFile) 


Ne sert à rien. C'est déjà fait à l'initialisation de l'objet
Messages postés
15
Date d'inscription
samedi 18 janvier 2003
Statut
Membre
Dernière intervention
21 mars 2013

Steph