Welcome to MSDN Blogs Sign in | Join | Help

Mark Schmidt's Abode

On Programming, Writing, Gaming, Fitness, Life

News

  • Have a Question?

    Click here to chat with me

    XBox Live GamerTag


    Twitter



    The Mark Cam


    My MoBlog

    www.flickr.com
    This is a Flickr badge showing public photos from codepunk. Make your own badge here.

    Community-Credit

What do you want to see?

I'm currently working on 2 utilities absolutely unrelated to anything I'm doing here at Microsoft. This isn't new since I've been doing this ever since I got into the industry (even before I was an official "programmer").  This time I have 2 utilities that I'm creating knowing that when they're finished, I will use them a lot.  Each of them are close to being finished (just hammering out some defects right now).  So my question to you is, which of the following utilities would you like me to finish first and eventually post here for you to view/use?

1. Bread Crumb Band:  This is a deskband (toolbar) that is used in Internet Explorer and/or Explorer.  The best way to describe is to take the current address you're viewing (http://www.microsoft.com/directx or C:\windows\assembly for example) and break it up into smaller hyperlinked pieces.  So if you were looking at C:\windows\assembly, you can click on 'windows' to navigate to the windows directory or you could click on 'c:\' to go to the root.  This has been extrememly handy when I'm knee deep in the folder hierarchy and want to get to my root drive really quick.  I also find it handy on blog aggregator sites like this one or my other favorite http://www.geekswithblogs.net.  If you had this utilitly installed and you were currently looking at my blog, you could click on the http://blogs.msdn.com to go back to the main MSDN blog page (in fact, that's what made me write this utility).

2. Smart Delete a.k.a. Sharp Shell:  This is both a framework and a utility wrapped in one.  Basically, it's a framework that you can write plugins for that will create context menu shell extensions to work with files and folders.  The plug in interface is quite simplistic and frees you from having to figure out how to write explorer context menu shell extensions. As a proof of concept, I created a Smart Delete plugin.  How many times have you decided to go into your temp folder and clear it out.  You do a CTRL-A and hit the delete key in hopes of deleting your 2000+ files in there.  It stops at the 53rd file saying that it is in use and cannot be deleted.  So you deselect that file and try again.  This time it stops at the 123rd file with the same message.  Repeat.  Repeat.  Repeat.  etc...  This utility will simply skip those files and continue deleting the remaining ones.  So what you're left with is only the files that are in use and cannot be deleted.  I still have 1 more thing to add which is a Smart Recycle plugin that basically does the same thing but moves the files to the Recycle Bin instead of permanently deleting them.

Let me know what you would like to see and when I finally get some free time, I'll fix it up and post it (followed later by the other one).

Posted: Friday, October 29, 2004 11:12 AM by markhsch

Comments

Rick Brewster said:

I vote for the second one. That would be very useful, and I'm sure people will come up with some plugins, or at least plugin ideas, pretty quick.
# October 29, 2004 11:44 AM

Joku said:

Not sure if this would be use to anyone else, but here goes..
Suppose you have a directory selected, or perhaps multiple directories. Now if you right click, the menu would offer something like "smart execute" sub menu, which would look what files are in the selected dir(s) and then offer sub context menu inside the "smart execute" -menu which offers functionality depending on the file extension.

Or perhaps just a simple execute which would pick one file/command to run on the file, depending on pre-defined configuration and ranking (so if your configuration would have DLL and EXE configured, you could place the EXE as 1st, if there was no EXEs, then something you often do with DLLs would be ran)

# October 29, 2004 12:05 PM

Mahesh said:

Of course the Smart Delete, besides you say it is a framework too!!
# October 29, 2004 12:14 PM

Mark Schmidt[MSFT] said:

I think we're thinking along the same lines. The framework itself will allow plugin writers to choose 3 of the following levels of support:

- All Files: If any of the targets selected are files (regardless of extension) the plugin menu item will display

- All Folders: If any of the targets selected are folders, the plugin menu item will display..

- Specific File Extension: If any of the targets are a specific file extension, the plugin menu item will display.

You can also logically OR the values (i.e. flags) to support some or all target types.

The framework basically passes a filtered data structure to the plugin containing the targets that plugin wants. So if the plugin says it only supports folders, then the framework will only pass it the folder in its list of targets. Same for files or extension specific.

Now as far as sub-menu for the plugins, I haven't quite gotten to that part. It will more than likely belong in a seperate interface in order to keep the base plugin support easy and allow more advanced plugins to use its own menu. Does that sound like what you're getting at?
# October 29, 2004 12:20 PM

matthew gibson said:

option 1. very cool.
2 - not as much.
# October 29, 2004 12:26 PM

James Bray said:

Both sound very interesting.

Will you make the source available?
# October 29, 2004 1:08 PM

Paul said:

Bread Crumb Band sounds cool! But, I like the SmartDelete framework dealie, too. I'll vote for Bread Crumbs to balance the demand for SmartDelete.
# October 29, 2004 1:22 PM

Mark Schmidt[MSFT] said:

James Bray,

Naturally.
# October 29, 2004 4:49 PM

Kris said:

My vote - SmartDelete Framework!
# October 29, 2004 4:58 PM

Drew Marsh said:

Definitely the latter. :)
# October 29, 2004 5:27 PM

Jose Luis Manners said:

SmartDelete !!!
# November 1, 2004 1:48 PM

Lance said:

Mark, did you ever do anything with the bread crumb band idea?
# December 12, 2005 5:01 PM

manny gonzales said:

i'm late to this blog entry. in response to the October 29, 2004 post. yes. i would like to see the plugin add a context menu option and then goto a sub-context menu. would the interface be part of the base project or would it also be a plug-in?

thanks
new to shell programming.
# July 27, 2006 9:59 AM
Leave a Comment

(required) 

(required) 

(optional)

(required) 

  
Enter Code Here: Required

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Page view tracker