views:

967

answers:

5

I would like to write my own file manager i.e. something like what XYplorer or Free Commander does but with a feature set that's more helpful to programmers.

What's the best language to write this. I'm basically looking for a language that has both rich GUI libraries and a nice wrapper library over the Windows Shell API.

I tried with C#, but writing my own PInvoke wrapper layer over Shell32.dll is a PITA I'm that I'm hoping to leapfrog over, so that I can get down to actually writing the app itself.

+5  A: 

Since you're going to write GUI app, I would recommend to look for a tool with a good support for GUI development. not a specific language. In my opinion VisualStudio (WinForms\WPF) or Delphi whould be a perfect match for this task. As for PInvoke, you can use site www.pinvoke.net to avoid writing wrappers yourself. Also you can write Windows Shell related code using managed c++ it allows to mix winapi with .net code.

aku
+5  A: 

I'll second aku's recommendation for Delphi. It actually comes bundled with demo apps for working with the Windows shell. The whole Delphi VCL is basically a giant wrapper to make Win32 API calls trivial.

Here's a good reference with lots of examples. Turbo Delphi is free, but I don't know if it includes the demos I mentioned.

JosephStyons
+3  A: 

You might want to have a look at UltraExplorer, which is a Windows file manager written in Delphi. It is based on a couple of component sets built specifically for this sort of stuff --- and they're free, also!

Delphi should be the perfect tool to create a native Win32 app with a rich UI, and it allows you to easily call all sorts of Windows API functions.

onnodb
A: 

Check this out. Very interesting stuff from Anders and his crew. There is a great file explorer (the point of which is its cool extensibility model implemented with the Managed Extensibility Framework).

http://www.codeplex.com/MEF

rp

rp
A: 

Late answer I realise, but I couldn't resist.

Did you know that, to this day, XYPlorer is written in good old Visual Basic 6?

This is a perfect example of how little the programming language really matters. It's what you build with it and how useful and effective it is that really matters.

I own a copy of XYPlorer and could not care less what language it was built in. I originally thought it looked like a Delphi app. but I was proven wrong on the XYPlorer forums.

I do mostly C#/.NET these days but it's good to know there are applications like XYPlorer still around.

Ash