Drag vers une application externe

Résolu
cs_calsn Messages postés 15 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 21 mars 2013 - 21 mars 2013 à 02:36
cs_calsn Messages postés 15 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 21 mars 2013 - 21 mars 2013 à 15:45
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

foliv57 Messages postés 420 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 15 juillet 2014 9
21 mars 2013 à 14:42
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
3
cs_calsn Messages postés 15 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 21 mars 2013
21 mars 2013 à 15:44
Mille merci !

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

Merci encore pour cette contribution.


Steph
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
21 mars 2013 à 08:04
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.
0
cs_calsn Messages postés 15 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 21 mars 2013
21 mars 2013 à 08:25
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
foliv57 Messages postés 420 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 15 juillet 2014 9
21 mars 2013 à 13:50
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)
0
cs_calsn Messages postés 15 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 21 mars 2013
21 mars 2013 à 14:13
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
0
cs_calsn Messages postés 15 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 21 mars 2013
21 mars 2013 à 14:28
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
0
foliv57 Messages postés 420 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 15 juillet 2014 9
21 mars 2013 à 14:37
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.
0
foliv57 Messages postés 420 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 15 juillet 2014 9
21 mars 2013 à 14:38
Dim TFile As String = New String() {(CType(ListBox3.Items(ListBox3.SelectedIndex), Fichier).Nom_Complet)} 
0
foliv57 Messages postés 420 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 15 juillet 2014 9
21 mars 2013 à 14:40
dta.GetData(TFile) 


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