J’essaie de créer une petite application d’aide, un scénario est “chercheur de duplication de fichiers”. Ce que je veux faire, c’est ceci:
Comment puis-je surveiller le fichier actuellement sélectionné dans l’instance “normale” de l’explorateur Windows? Dois-je démarrer l’instance à l’aide de .NET pour pouvoir gérer le processus? Ai-je besoin d’une poignée ou existe-t-il un “raccord global” que je puisse surveiller en C #. C’est un peu comme surveiller le presse-papier, mais pas exactement la même chose …
Toute aide est appréciée (si vous n’avez pas de code, pointez-moi juste vers les pages interops, dll ou aide adéquates 🙂 Merci Chris
EDIT 1 (source actuelle, merci à Mattias)
using SHDocVw; using Shell32; public static void ListExplorerWindows() { foreach (InternetExplorer ie in new ShellWindowsClass()) DebugExplorerInstance(ie); } public static void DebugExplorerInstance(InternetExplorer instance) { Debug.WriteLine("DebugExplorerInstance ".PadRight(30, '=')); Debug.WriteLine("FullName " + instance.FullName); Debug.WriteLine("AdressBar " + instance.AddressBar); var doc = instance.Document as IShellFolderViewDual ; if (doc != null) { Debug.WriteLine(doc.Folder.Title); foreach (FolderItem item in doc.SelectedItems()) { Debug.WriteLine(item.Path); } } }
Vous pouvez le faire avec les interfaces d’automatisation du shell. Le processus de base consiste à