January 2012 Release of MFCMAPI and MrMAPI

No one’s taking my subtle hints about Wikipedia. One more try: It sure would be nice if someone added MFCMAPI to the article about MAPI.

The January 2012 Release (build is live: http://mfcmapi.codeplex.com.

I’m continuing to crunch on the UI overhaul. This release has a ton of fixes for various flicker issues and glitches, especially those which show under the Windows Classic theme. Most of the problems were bad assumptions on my part that the Classic Theme helped expose. I also worked a good bit on making my various dialogs more pretty, practically rewriting the layout engine in the process. Finally, I finished up my work on painting the system buttons. This last bit required a bit of kernel debugging to figure out why Windows liked to repaint on top of my icons when I moved the mouse around. It turns out that initialization of the window’s system menu is what caused this. If you’re interested, look at how I handle WM_CREATE.

I’m continuing to tweak the colors. Here’s another hero screenshot highlighting the new new color scheme, including the new system buttons:


Here’s a change list – see the Issue Tracker on Codeplex for more details, or look at the code:

  • MFCMAPI: Rewrote/cleaned up most of the dialog rendering
  • MFCMAPI: Much more double buffering to reduce flicker
  • MFCMAPI: Custom system icons
  • MrMAPI: New –Restrict switch to limit output from folders
  • MFCMAPI: Softer color scheme
  • MFCMAPI: Fixed all known Classic Theme glitches
  • SmartView: Added PidTagRoamingBinary
  • MFCMAPI: Much smaller options dialog now scrolls.


Comments (2)

  1. Peri says:

    Hi Stephen.  Yout tool MFCMAPI is excellent for exploring MAPI and getting to understand the objects.  However, it is much to large to serve as a sample program from which I can learn how to write a MAPI client.  I have never used MAPI before nor COM so this is a huge step to take. (I'm making progress!)  

    What would really help, and judging by google search results would help others too, would be small samples that do things like: list all the profiles for a particular MAPI module, or list all the address in the aggregate address book, and so on.  To keep them really simple, they could be command line apps using stdout.

    Do you know if such samples exist – I have not found any.  Maybe you could add links to the samples page: msdn.microsoft.com/…/cc839588.aspx

  2. Take another look a the code and restrict yourself to the MrMAPI build. It's a much smaller code set that fills your need. Also, I have published several one-off samples, such as gcreconnect or SetAA.