2015-12-28 1 views
0

Je voudrais savoir comment le gestionnaire de fichiers comme WinRAR le gère pour activer Drag & Suppression de la prise en charge de leur fichier d'archive (lorsqu'un fichier est dropé sur un fichier .rar il s'ouvre et éventuellement WinRAR ajoute le fichier à archiver).Mécanisme de suppression de fichiers de certains types de fichiers associés (.zip, .rar, ...)

image pour la démonstration: enter image description here

EDIT: Après quelques commentaires, je veux préciser ce que je veux faire (voir l'image):

  1. fichiers d'un certain type de données accepte une demande de suppression (.rar).
  2. Dropping le fichier (txt) résultat dans un Shell appel qui transmet le nom du fichier déposé (txt) ainsi que le nom du fichier qui a accepté la baisse (.rar).
  3. L'application enregistrée pour le type de fichier est appelée, les deux noms de fichiers lui sont fournis dans la ligne de commande.
+0

Je ne sais pas ce qui est bizarre [Drag and Drop] (https://msdn.microsoft.com/en-us/library /96826a87.aspx), mais c'est un moyen courant d'activer le drag and drop pour n'importe quelle application. – IInspectable

+0

Ouais c'est juste inhabituel et difficile si la cible de baisse n'est pas l'exécutable ou la fenêtre active. – BeschBesch

+0

Il ne le dit pas non plus dans votre question. Si vous voulez savoir, comment intégrer avec le shell (c'est-à-dire explorer.exe), vous devriez au moins mentionner l'explorateur dans votre question. Comme écrit, il faut beaucoup de lecture, pour comprendre, ce que vous demandez vraiment. – IInspectable

Répondre

2

Vous devez implémenter un Shell Drop Handler.

Ceci est un objet COM qui implémente les interfaces IPersistFile et IDropTarget. IPersistFile vous dira quel fichier est déposé. IDropTarget vous donnera un IDataObject pour vous dire quels fichiers/données sont supprimés.

La documentation est ici:

+0

Ok, ce regard prometteur, je vais m'y pencher. – BeschBesch