May 2008 - Posts

XmlLite and Windows XP Service Pack 3

The April 2007 issue of MSDN Magazine included an article I wrote about the excellent XmlLite parser for native C++ developers. In October of that year I wrote about the lack of a redistributable for Windows XP. Although the XML team at Microsoft told me that they hoped to provide a redistributable it never did materialize.

As a last resort I asked them whether it could be included in Windows XP Service Pack 3 so that developers could at least rely on its presence on computers with the latest service pack. Although I never received any confirmation I finally installed SP3 in a new virtual machine and look what I found:

Hope that helps.

Posted by KennyKerr with 2 comment(s)
Filed under:

Windows with C++: Windows Imaging Component (Part 2 of ... oops!)

In April 2007 MSDN Magazine published part 1 of a 3 part series of articles on the Windows Imaging Component. Part 1 provides a good introduction to using WIC to encode and decode various image formats using this new imaging API. Part 2 and 3 were meant to show you how to extend WIC with your own image formats. Unfortunately it didn’t quite work out as planned.

I chose the ICO format as an example since the WIC codec provides very limited support for this format and in particular does not support the new PNG-based icons in Windows Vista. Unfortunately it was decided that it would not be a good idea for MSDN Magazine to showcase a codec to replace the one that ships with Windows and the .NET Framework even if it was only meant to serve as an example.

It was however too late in the publishing cycle and the article had to ship. Part 3 was scrapped but you can now read the “wrap-up” of the WIC series. It still provides some useful information if you’re curious about the ICO format in Windows Vista and some tips on writing a WIC codec.

Windows with C++: Decoding Windows Vista Icons with WIC

As with many facets of Windows, the icon format is steeped in history. In the early days of the 16-bit Windows operating system only the device-dependent bitmap (DDB) format was supported. Such a bitmap specified a width and height in pixels as well as a table that mapped pixels to entries in a particular device's color palette. Because different devices naturally supported different resolutions and had different color capabilities, these bitmaps were not easily moved from one device to another. DDBs were, however, very efficient and are in fact still used today for certain operations. A device-independent bitmap (DIB) format was introduced to correct all of the problems inherent in DDBs. Such a bitmap included its own color table independent of any particular device. The bitmap's pixels then mapped to the bitmap's color table, which unambiguously defined the pixel colors using red, green, and blue (RGB) color values...

For more information about extending WIC you can read the following lengthy article on MSDN:

How to Write a WIC-Enabled CODEC and Get Full Platform Support for Your Image Format

Lesson of the day: avoid publishing multi-part articles until all parts have been reviewed.

Posted by KennyKerr with no comments
Filed under:

MSDN Link Spring Cleaning

Every year or so the folks who manage the MSDN and TechNet websites decide to update the site is some way and pretty much break every single URL referring to their content. Traditionally this hasn’t affected MSDN Magazine but the magazine now joins the club and older links to MSDN Magazine articles no longer work either.

Since most of my articles are either published by MSDN or MSDN Magazine this obviously affects me. Although it’s too much work to go through all my blog posts and update the links, I updated all the links on my articles archive page a few days ago so that you can easily find one of my previous articles online:

Kenny’s Articles

Hope that helps.

Posted by KennyKerr with 3 comment(s)

Quick Update

I’m doing some traveling over the next few days and will unfortunately be offline for most of that time. I will be back online on Tuesday so if you’ve sent me an email, please don’t expect a response before then.

I’ve also made some small changes to the Window Clippings order handling to make the process run a bit smoother and ensure that you receive your license keys promptly and reliably. This will hopefully reduce the number of times I need to send license keys out manually.

I also made the change from US dollars to Canadian dollars. This won’t really effect anyone as the currencies are mostly hovering around 1=1 but it will reduce processing costs for me as I do my banking in Canadian dollars and the exchange rate provided by the payment processor is quite outrageous.

On a different note I recently submitted my latest column for MSDN Magazine. This one is about writing high performance asynchronous HTTP clients in native C++. Look for it around July. I’m also going to start covering the upcoming C++0x standard in my column. C++0x aims to make it easier to build libraries and in particular template metaprogramming. It allows you to produce even more efficient code while making it easier to write and diagnose compile-time errors related to templates and will thus make it easier to learn for novices. And that’s just the tip of the iceberg. Exciting times!

© 2008 Kenny Kerr

Posted by KennyKerr with no comments
Filed under:

Window Clippings 2.1: How to open the Options Window

Did you know there are three ways to open the options window? 

The options window is the single interface for controlling all aspects of Window Clippings. It is a tabbed window that allows you to specify what you want it to do with captured images, whether you want an icon to appear in the notification area, whether you want to include window shadows, and much more. It is also where you register Window Clippings using your license key. So naturally it is important to know how to find the options window!

Window Clippings will by default show an icon in the notification area. The simplest way to show the options window is to right-click this icon and select “Options” from the context menu that appears.

If you have chosen to hide the icon you still have a few more options. You can right-click the capture screen itself and select “Options” from its context menu. Finally you can use the “/options” command line argument to show the options window directly:

windowclippings.exe /options

Stay tuned for more “How to ...” articles.

© 2008 Kenny Kerr

Posted by KennyKerr with 5 comment(s)
Filed under:

Window Clippings: A note to Microsoft employees

It looks like the public mail servers used for receiving mail sent to @microsoft.com addresses are regularly blocking the emails that are sent automatically with your Window Clippings license keys. In these cases I need to manually send an email with your license key.

The anti-spam content filter is kind enough to let me know when they refuse to deliver the automated messages but it might take a few hours before you receive your license key. (I might be sleeping when you place your order!) Feel free to contact me directly if you haven’t received your license key.

Anyway, I’m sorry for any inconvenience due to the delay. I’ll hopefully figure out what’s offending the anti-spam filter soon. If anyone from Microsoft ITG/MSIT is reading this then here’s what a license email looks like (the email contains only text with no attachments, images or markup):

From: info@windowclippings.com
Subject: Your Window Clippings 2.1 License

Thank you for your purchase!

To register Window Clippings simply enter the following information on the About tab of the Window Clippings Options window:

Email address: <your email address appears here>
License key: <your license key appears here>

Enjoy!

Should you have any questions or concerns simply reply to this email and I will be more than happy to assist.

Cheers,
Kenny Kerr

http://www.windowclippings.com/

 

Posted by KennyKerr with no comments
Filed under:

Beef Up Windows Apps with the Visual C++ 2008 Feature Pack

Back in December of last year the Visual C++ team asked me to write an article for MSDN Magazine about the new Visual C++ 2008 Feature Pack. Well the article has finally made it into print in the May 2008 issue and you can also read it online.

C++ Plus: Beef Up Windows Apps with the Visual C++ 2008 Feature Pack

As a developer using Visual C++ , you may have felt a bit left behind in recent years as it seems like Microsoft has added more new features and functionality to Visual C#® than to Visual C++®. The truth is that although the Visual C++ compiler has continued to improve in a variety of areas including performance, security, and standards conformance, little has been done in the way of new library and productivity features for quite some time. And while MFC was updated to better support Windows Vista®, more could have been done. Now, however, to better support developers who use native code and MFC in particular, Microsoft has released the Visual C++ 2008 Feature Pack. Here's your evidence of a renewed commitment to Visual C++.

Enjoy!

If you’re looking for one of my previous articles here is a complete list of them for you to browse through.

© 2008 Kenny Kerr

Posted by KennyKerr with 7 comment(s)
Filed under:

Special offer for Paint.NET users

To promote the new integration between Paint.NET and Window Clippings, Rick and I are offering a special deal to Paint.NET users. For the month of May we’re offering Window Clippings at a special discounted price!

You should see this offer when you install or upgrade Paint.NET 3.31. If you’ve already upgraded you can just hop over to Rick’s blog to take advantage of this special offer.

© 2008 Kenny Kerr

Posted by KennyKerr with no comments
Filed under:

Window Clippings 2.1: Send to Paint.NET

Earlier this week I hinted at a surprise new feature that was introduced with the 2.1.28 build of Window Clippings. I can now tell you what it is!

Rick Brewster and I collaborated to enable seamless integration between Window Clippings and Paint.NET. Assuming you have the latest release of Window Clippings (2.1.28 or later) and the latest release of Paint.NET (3.31 or later), Window Clippings will offer a brand new add-in called Send to Paint.NET.

Last year I showed how you can use the Window Clippings “Post-save event” feature to send images to Paint.NET. This is a useful feature that lets you run any command after an image is saved to disk. It can be used to send images to any program.

The new Send to Paint.NET add-in makes it even easier by sending images directly to Paint.NET without first having to save it to a file. Window Clippings will automatically figure out where Panit.NET is installed so there’s not even any configuration involved. Not only that, but the image is treated as a new “untitled” image as if it was automatically copied and pasted directly into Paint.NET.

Download Window Clippings here: http://www.windowclippings.com/

Download Paint.NET here: http://www.getpaint.net/

Enjoy!

© 2008 Kenny Kerr

Posted by KennyKerr with 7 comment(s)
Filed under:
More Posts