Your idea using shellFolderView without the timer.
I've done this in Delphi, vb.NET and C#.
I've manage to get the path of the last top explored window,
But, I used the timer, every time a top level window clicked?, I get the path and the filename.
But, I used the timer.
Whats your idea without using the timer?