ernest
ernest

Reputation: 1724

How can I hook into the explorer directory calls in windows to determine when a new directory is opened?

If you use a tool like Process Monitor, you can see that when a directory is opened, explorer.exe performs a DirectoryQuery. I don't know if DirectoryQuery is specific to procmon, but I'm trying to see if I can capture those calls within C#. Or determine if there are any Win32 APIs I can PInvoke to get this info.

enter image description here

There are other tools like Clover that also do this. The functionality I'm trying to replicate is basically the same as Clover. Where I would redirect new directories to my application instead of Explorer.

If anyone can point me in the right direction, I would greatly appreciate it.

Upvotes: 4

Views: 1252

Answers (1)

Anders
Anders

Reputation: 101616

If you want to write your own File Explorer application then you can use the IExplorerBrowser object to do 90% of the work for you. Register a new default verb for the Directory and Folder ProgIds.

If you want to hook into Explorers File Explorer windows then you must implement a browser helper object (C# if you must) and tweak it so it only loads in Explorer.

DWebBrowserEvents2 will tell you about navigation events.

Upvotes: 1

Related Questions