Category Archive for Vista

Windows 2000, XP SP2 and Vista End of Life Support

This is a message to everyone who is running an older version of Windows. There are a few End of Life Support dates coming up, so it’s important to keep that in mind to avoid running unsupported versions of Windows.

Windows 2000 Professional and Windows 2000 Server are approaching 10 years since their launch and both products will go out of support on July 13, 2010.

Windows XP was launched back in 2001. While support for the product will continue, Service Pack 2 will go out of support on July 13, 2010. From that date onwards, Microsoft will no longer support or provide free security updates for Windows XP SP2.  Please install the free Service Pack 3 for Windows XP to have the most secure and supported Windows XP platform.

Finally, Windows Vista with no Service Packs installed will end support on April 13 2010.  Please install the free Service Pack 2 for Windows Vista to have the most secure and supported Windows Vista platform.

Share

EasyBCD: Easily Manage The Vista Bootloader

A friend of mine pointed me to EasyBCD to easily make changes to the Windows Vista Bootloader. This is expecially useful if you have installed Windows 7 in a VHD for example. If you want to remove your VHD installation, simply delete the VHD file and then use EasyBCD to remove the Windows 7 boot entry from the Bootloader.

Share

Possible KSOD (blacK Screen Of Death) Solution for Windows Vista

A few days ago, my Windows Vista on my notebook started to have the KSOD (blacK Screen Of Death) syndrome. This syndrome is that after typing your username and password on the login screen, you are presented with a black screen and a mouse, nothing else. When searching on the internet for solutions I found out that quite a few people experienced the same issue with all kinds of different solutions. I tried some suggestions like System Restore, file system check, registry changes etc etc, but nothing was working for me.

When you are presented with a KSOD, you can try to press the left SHIFT button a few times to trigger the sticky keys feature of windows. This will popup a window that contains a link. You can then click this link and from there you are able to launch different applications. Of course, if you disabled sticky keys, you are out of luck…

After wasting almost a whole day on trying everything I could think of, I stumbled upon a blog where they said that it might be related to the eventlog. To test this, I wanted to disable the eventlog. Unfortunately you cannot disable the eventlog from a running Windows because some other services are relying on it. I booted into “safe mode with command prompt”, because normal safe mode would also give me the KSOD. I disabled the eventlog and rebooted the machine and to my surprise everything worked 🙂

The next step was to delete all eventlog files from C:\Windows\System32\Winevt\logs, switch on the eventlog again, reboot and everything was again working 🙂

Share

Developing High DPI Aware Applications

I’m currently in the process of implementing high DPI support in one of my applications. High DPI support is getting more and more important, especially with the resolution of todays laptop screens. Most people will switch to 120 DPI or even 144 DPI instead of the default 96 DPI to make text easier to read. However, when your application is not High DPI aware, Windows Vista and Windows 7 will in certain situations scale everything for you but this will result in a blurry user interface.

Microsoft has released an interesting document describing the steps involved in developing High DPI aware applications. You can find them at the following links:

Share

Using the Windows Vista/Windows 7 Built-In Buffered Animation API

Windows Vista comes with a built-in buffered animation API. This API makes it easy to make animations without flickering(*). I wrote a new article on CodeGuru that explains how to use this Buffered Animation API with C++.

The article comes with an example application to illustrate the Windows Vista buffered animation technique. The example will draw a new colored random rectangle in the window each time you press the spacebar. The new rectangle will smoothly fade onto the window. The buffered animation is used for this fading effect.

Read the full article.

(*) Note: While writing the article, I found an issue with the DWM in Windows Vista. After discussing with someone from Microsoft, it seems the buffered animation API is relying on some buffering from the DWM; however, on Windows Vista this is causing some flickering. They also told me that the buffered animation was not designed for big or full-screen animations but rather for small animations like fading buttons. To reduce the flickering as much as possible, only use the buffered animation on small rectangles and use a short animation interval, for example 500 milliseconds, which is more than enough for GUI related animations anyway.

The good news is that I tested the application on Windows 7 Beta and it works without any flickering. So, it seems that the DWM issue has been fixed on Windows 7.

Share

Using Windows Vista Built-In Double Buffering

The solution to fixing flickering issues when drawing graphics is to use double buffering. Double buffering basically means that an off-screen buffer is created. Everything is rendered to this off-screen buffer and, when drawing is completed, this off-screen buffer is copied to the screen. The end result is that you do not see any flickering and you do not see the drawing being created part by part. A little unknown fact is that Windows Vista has built-in support for double buffering, so managing off-screen buffers, copying data, and so forth are all managed by Windows for you. I wrote an article including an example on how to use this built-in support for double buffering with C++. This article has been published on CodeGuru.

Read the full article.

Share