Recherche et gestion de fichiers personnalisées

Description

FileManager permet de rechercher des fichiers d'un certain type défini dans le fichier de config, modifiés avant et/ou/ou_pas après une certaine date dans un ou plusieurs répertoires.
Le résultat de la recherche est affiché dans un TreeView multiselect. Quand on sélectionne un/des fichiers, on a des infos dans la barre d'état, et un aperçu pour les fichiers image ou video.
On peut supprimer des fichiers à partir de l'application, ou les ouvrir grâce à l'application définie dans le fichier de config.

Définition des types de fichiers (App.config):
On crée un type avec la clé qu'on veut (affichée dans le combo de sélection) ex: "Mes fichiers à la con!" en lui associant 3 éléments:
-GenericType: il en existe 4, ils permettent de gérer l'aperçu pour les types Image et Video (peut-être d'autres utilisations dans le futur!). ex: <add key="Mes fichiers à la con!" value="Text"/>;
-Extensions: liste d'extensions associées à ce type de fichiers (en majuscules). ex: <add key="Mes fichiers à la con!" value=".CON;.BOF;.LOL;.NIMPORTEQUOI"/>;
-Applications: appli utilisée pour ce type de fichier. Laisser vide pour utiliser l'appli par défaut définie dans Windows. ex: <add key="Mes fichiers à la con!" value="C:\Program Files\Mon_appli_à_la_con.exe"/>.

Intérêts et éléments utilisés:
-recherche dans un ou plusieurs répertoires distincts;
-gestion d'un fichier de config;
-Drag N'Drop de répertoires;
-gestion Treeview (multiselect);
-récupération des icônes associées aux fichiers dans le shell;
-classe de gestion video (DirectShow);
-modification et ajout à volonté de "types utilisateurs" de fichiers et applis associées.

Références:
-Treeview Multiselect par Allisat http://www.codeproject.com/KB/cs/TreeViewMultiSelect.aspx;
-DirectShow par Daniel Strigl http://www.codeproject.com/KB/directx/directshowmediaplayer.aspx;
-Ajout d'un répertoire à un TreeView par scoubidou944 http://www.csharpfr.com/codes/CSHARP-AJOUTER-CONTENU-REPERTOIRE-TREEVIEW_21129.aspx.

Concernant la vidéo, la classe utilisée est complète bien que je n'utilise pas toutes les méthodes, parce que cette classe m'a servi à une autre appli qui intégrait un lecteur... y'a tout ce qu'il faut dedans!
Il y a encore tout un tas de fonctionnalités que j'ai l'intention d'ajouter, mais je n'ai pas trop le temps en ce moment, alors je vous la propose en l'état pour l'instant :)

Il y a quelques bugs que je n'ai pas encore réussi à résoudre:
-ouverture de plusieurs fichiers avec l'appli par défaut (pas d'appli définie dans la config);
-plantage de l'appli à certains moments dans le cas d'ouvertures répétées de vidéos via WmPlayer.

Source / Exemple :


if (!Exists) 
  Zip();

Conclusion :


J'espère que cette source vous plaira/servira.
1)Pour à qui elle plaira, merci :)
2)Pour ceux qui la trouveront inutile, nulle etc... consultez les personnes citées en 1)! (lol)
Tout commentaire blablabla ;)

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.