[Mono-dev] Windows Shell

Jonathan Pobst monkey at jpobst.com
Wed Nov 29 11:40:56 EST 2006

My opinion, but what I think we need to achieve, and how to get there is 

- Get the Moma results of P/Invoke calls, sorted by call frequency.
- For each one:
   - Try to figure out why it's being called (what the user is trying to 
accomplish, which is not always easy or possible)
   - Determine if there is something already in the managed API that we 
should be pointing users to.
   - If not, design a .Net style function that accomplishes what the 
user is trying to do (which may or may not look like the Win32 API call)
   - *!!* Document on the wiki every API call we examine, and what the 
suggested replacement is.

Another route is to simply duplicate the exact Win32 API syntax and try 
to make it perform the same on *nix.  This route would probably be 
easier for porters, at the expense of new users who would prefer to 
accomplish the task without learning Win32 API.  (IMO, a large, large 
percentage of .Net developers have no desire to touch Win32, think VB.)

Most likely, it would be a mix of both.  SendMessage would be a pretty 
straight call, whereas GetIconFromFile could be made easier to use. 
Place all the results in a .dll called Mono.Compatibility or 
Mono.Platform or something.  Position it as both a library to help 
people porting to Mono, as well as an abstraction layer to make the 
Win32 easier for .Net people.


Steve K wrote:
> Aplologies for replying to my own message, but I have a few questions to 
> field.
> 1) Does Mono simply need to provide an API to get the icons for files 
> and folders, and find the location in the filesystem of the Recent 
> Documents list?
> 2) Or do we need to expose the Shell/Nautilus/etc Namespace in more 
> detail, for example, being able to enumerate over the contents of folders.
> ------------------------------------------------------------------------
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list

More information about the Mono-devel-list mailing list