Window Clippings 1.0

Update: Version 2.0 is now available! Download it now from http://www.windowclippings.com/.

 

I’ve been sitting on this little application for about a month so I thought I better just put it out there for people to try.

I often write small applications or tools to save myself time and to make my time at the computer more productive. The Icon Browser, which I wrote years ago, is an example of one such tool that I wrote one night when I got sick and tired of scraping icon resources out of PE files using regular resource editors.

Window Clippings 1.0 was also born out of frustration. I often need to get an image of an application window for an article I may be writing. Doesn’t ‘Alt+PrtScn’ do that? Well yes and no. Alt+PrtScn creates an image of the window rectangle, but most people run Windows XP which supports themes that typically draw non-rectangular windows, known as window regions. Even if you’re using the Windows Classic theme, which defaults to rectangular windows, many applications today uses regions directly. Good examples include MSN Messenger and Windows Media Player.

Getting ‘clean’ images of these windows can be hard if the background does not match whatever color you will be rendering the image onto. Inevitably you need to position the window over a white background before pressing the PrtScn key. This is just a pain. To solve this problem and just generally make it far easier and simpler to create a ‘clipping’ of a window I wrote the Window Clippings application.

Before I talk about the application, let me quickly show you some sample results that you can compare.

Comparative Results

Here’s what you get when you Alt+PrtScn a typical Windows Explorer window:

Notice the top corners include the background color showing through. Here’s an example using OneNote’s ‘Create Screen Clippings’ feature. OneNote, if you haven’t tried it, is an awesome note-taking product:

Notice that the results aren’t exactly optimal for presentation if you didn’t ensure that the background color was set appropriately. This is actually a pretty typical result from screen capture products I’ve seen. Notice also that the focus is lost.

With Window Clippings you simply select the window you wish to capture and it will take care of creating an image with the desired background color, properly clipped to the window’s bounding rectangle:

You might also notice that the image created with Window Clippings shown here is a PNG file and is completely transparent outside of the window region (of course your browser may not be rendering alpha blended images correctly – this is a known problem in IE6) You can of course choose between BMP, JPEG and PNG formats. You can get even more dramatic results with applications like MSN Messenger (whose window region is quite a bit smaller than its rectangular window bounds).

Here is an example of an Alt+PrtScn of a Windows Media Player skin:

And here are the results of using Window Clippings. In this case I chose to produce a JPEG with a red background.

Using Window Clippings

Running Window Clippings is simple. Either run the MSI to do a proper installation of the product or simply download the EXE and run it directly from your local computer. If you install it using the setup wizard you can find the shortcut to the application in your Start menu. The only real advantage of using the MSI is that it will correctly remove the registry key, during un-installation, where the application stores your user preferences.

To create your first window clipping simply double-click the icon and select the desired window. You can also right-click the icon for more options.

When you create a window clipping you should notice your desktop appear to darken. Any window you click on will be highlighted. You can then double-click the window to perform the default actions (that are configurable) or right-click to perform a specific action. I encourage you to look through the options that are available.

Hopefully that’s enough information to get you inspired to try it. Here is a quick list of features you might be interested in:

Send window clippings to OneNote section of your choice
Copy window clippings to the Clipboard
Send window clippings to a history folder on disk
Specify background color for non-transparent images
Support for BMP, JPEG and PNG formats.
PNG and images sent to OneNote provide transparency
Support for multiple-monitor configurations

Other release notes:

Works on all editions of Windows XP (Home, Pro, Tablet, MCE) and Window Server 2003, including x64 editions.
Written completely in native code so nothing but the EXE is required.
Support for Windows 2000 may be provided based on demand.
All display monitors must be configured for 32-bit color quality to create window clippings. This does imply that, although Window Clippings runs in a Terminal Services session, you will not be able to create a window clipping since Terminal Services does not support 32-bit color. Support for lower color displays is being considered for a future release.

I hope you like it! I posted this at 1:30 AM so I hope at least some of this made sense...


© 2005 Kenny Kerr

11 Comments

  • Ok, this rocks. Thanks!

  • What about if I want to capture a screen shot of a menu? Is there currently any way to do that?

  • Chuck: Not currently. Running Window Clippings takes the focus away from the window so the menu will automatically collapse. The only way to do this is with PrtScn (or some other screen capture tool – but I don’t know of any).



    For a future version I’m look at providing a feature where you can actually control the state of the window while creating the clipping. At that point you will be able to create an image of a window with a menu displayed.

  • Wow, awesome little tool, somebody should have made this 5yrs ago!



    It's decent on ram, only 3.6megs, is that as lean as you can take it with .Net?

  • Hi Travis, it uses so little memory because it’s written in native C++ so there’s no .NET Framework involved. My original prototype used managed code and the space and time overhead was considerably more.



    It uses as much memory as it does because I do all my calculations with 32 bpp DIB sections so it will use more memory the larger your virtual desktop. For example if your desktop is extended over two or more monitors at a high resolution then it will use more virtual memory. Of course while the application is running idle in the notification area it uses no more memory that it needs to keep the basic application state alive.

  • How about a global keyboard shortcut? That would be a handy feature.

  • Good idea Paul – it’s already on my list for vNext. I’m adding a (configurable) hot-key to allow you to begin creating a window clipping without using the mouse.

  • If you want to capture screen shots of menus I can recommend SnagIt from www.techsmith.com

  • Doesn't seem to work on maximized windows. :(

  • How do you uninstall windows clipping 1.0 because i cant find it anywere

  • Mark: Window Clippings isn’t “installed” as such. To remove version 1 simply uncheck “Automatically run Window Clippings when I log in” to remove the auto-start registry entry and then simply exit Window Clippings and delete the WindowClippings.exe file.

Comments have been disabled for this content.