10 May, 2009
VHD Windows Windows 7
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.
3 May, 2009
VHD Windows Windows 7
I downloaded the freshly released Windows 7 Release Candidate from MSDN and was thinking on how to test it. First I thought to install it in a virtual machine, however, that means I would not be able to test with Aero enabled. A friend of mine suggested to use a new feature in the Windows 7 bootloader that allows you to boot an operating system installed inside a VHD (Virtual Hard Disk Image). On his blog he explains the steps involved in getting this to work. I followed his steps and everything went without a hitch and Windows 7 was up and running in no time, including Aero 🙂
The benefit of using a VHD is that you don’t need to repartition your drives. The VHD is just 1 big file but when booting from the VHD, everything looks and feels as if the operating system was installed on its own physical drive/partition.
I did encounter one anomaly while using Windows 7 booting from VHD. The Windows Experience Index cannot be computed. When asking Windows 7 RC to compute the WEI score, it gives an error saying that it cannot properly assess hard drive speed, but other than that, everything seems to be working smoothly. 🙂
Over the coming days I will keep testing Windows 7 RC. One thing I stumbled upon today is that Windows 7 RC seems to have built-in support for playing XVID movies. It even shows thumbnails for XVID movies in the Windows Explorer.
2 May, 2009
Windows Windows 7
The Windows 7 Release Candidate has been made available to MSDN and Technet subscribers. It will be available to the general public on May 5th. This RC will expire on June 1 2010. There is also a dedicated forum for Windows 7 at http://social.technet.microsoft.com/Forums/en/category/w7itpro
2 May, 2009
Windows
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 🙂
16 Apr, 2009
Wallpaper Cycler 3.6 Release Candidate 1 has been released to our testers. When no show stoppers are discovered during testing, this will become the final build for 3.6. 🙂
16 Apr, 2009
The following new features have been implemented in Wallpaper Cycler:
- New WPCController tool. This is a small application that accepts commandline parameters to control Wallpaper Cycler. It replaces the COM DLL. This is now used by the Windows Gadget instead of the COM DLL.
- Better support for High DPI systems, preventing blurry text and icons on Vista and later.
- All tree controls now have nicer selection on Windows Vista and up.
- All ListView controls now have nicer selection on Windows Vista and up.
- New option “Cycle wallpaper when display settings changed”. This in combination with the “Smart Orientation” feature is very useful for example for tablet users. When the tablet is rotated, WPC can automatically cycle the wallpaper to pick one that fits the new orientation.
- New option under “Tools > Program Settings > Document > Wallpaper Default Settings” to assign a default tag to newly added wallpapers. By default this is set to “To Be Reviewed”. This makes it easy to use a search folder to find all wallpapers with this “To Be Reviewed” tag so you can review the tags for the new wallpapers.
- A wallpaper object on a layout can now be set to “Random from same category and with given tag”.
- The skip extensions dialog now contains a button to reset the list to the default list of skipped extensions.
I made the following bug fixes for Wallpaper Cycler:
- “Rerender on resume” now has a delay of 10 seconds to give Windows time to restore network connections for example.
- The toolbars were not in High Color on a Dutch version of Windows.
- The “Rendering in progress” error is now only shown when the user manually initiates a cycle wallpaper request.
- Removed the tip of the day, since noone ever reads that anyway.
- The rotation option for wallpapers only worked when the tiling setting was set to “Stretch (Keep Aspect Ratio)”.
- WPC will now correctly render the wallpaper when running in High DPI mode, previously it could result in some tiling effect to become visible.
3 Apr, 2009
A bit late, I know, but you can find some pictures of our (my brother and me) trip to Seattle in 2008 at the following link.
Pictures Seattle 2008
3 Apr, 2009
Windows Windows 7
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:
2 Apr, 2009
Yesterday I got an email that I was re-awarded the Microsoft Visual C++ MVP (Most Valuable Professional) award for 2009 🙂
See my MVP profile.
1 Apr, 2009
After installation of Internet Explorer 8, some wizard in Visual Studio 2005 and 2008 might give a script error. The following wizards might be affected:
- Add Function
- Add Variable
- Smart Device – New Project Creation
- Smart Device – Add Class
Get the workaround from the Visual C++ Team Blog.
31 Mar, 2009
At the beginning of March I went with my brother to Miami on holiday for one week. When leaving the plane, obviously we immediately liked the weather, since we were both flying in from a place where it was still around 0°C 🙂
We were staying in the Holiday Inn Miami Beach-Oceanfront. The hotel was fine and breakfast was good. Only problem we had was that the hotel is located in Mid Beach and it is quite a distance to go to South Beach. We misinterpreted some maps when booking the hotel and thought that we could easily walk down to South Beach. It was a bit too far, so we took a 7 day visitors pass that allowed us to take the bus as many time as we wanted. However, the location was not all bad though, as it was next door to the Gotham Steak restaurant which we might otherwise never have known 😉
Below are quite a few pictures from our trip 🙂
Read the rest of this entry »
28 Mar, 2009
The intro that was played on the Microsoft 2009 MVP Global Summit is available online. Click the link below to see it 🙂

The Microsoft 2009 MVP Global Summit Intro
24 Mar, 2009
Beginning of March I went to New York for a few days with some friends. We were very lucky with the weather. It was cold though, only 0°C or 32°F but we had no rain and it was blue sky almost all the time 🙂 Since it was low season for New York at this time there were not too many tourists. This was very noticable on a few places where we saw long ‘snake-lines’ for tourists to wait in line, but when we went there we almost never had to wait in any ‘snake-line’ 🙂
Below are some pictures of my trip to New York.
(Note: all pictures are copyrighted by me, Marc Gregoire. Please contact me if you want to use one.)
Read the rest of this entry »
19 Mar, 2009
I’m back from my holidays to New York, Seattle and Miami. When I find the time I will be writing some other posts with pictures.
This post however is about a nice restaurant we discovered in Miami. It is called “Gotham Steak” and is located in the Fontainebleau Miami Beach Resort. The first thing that you will notice when you enter the restaurant is the 2 story glass room full of wine bottles (see picture below). Apparently there are over 17.000 bottles and over 500 different kinds of wine in this marvelous “wine cellar”.
While browsing the menu, my eye fell on the foie gras starter. I love foie gras, so I ordered it. It was no mistake. The foie gras was delicious and melts in your mouth.
As main dish, we took the Wagyu Steak. At around $70 per portion, it’s not cheap, but after just one bite, we knew it was worth the money. The steak is so tender and tasteful. I would definitely take it again.
After dinner we went to the bar and saw a very nice collection of whiskeys. I tried the Glenmorangie Signet (see picture below) and this is one of the best whiskeys I ever tried, though at $45 per glass, it’s not the cheapest one.
We enjoyed our dinner at the Gotham Steak so much that we went again a few days later 🙂
Below are a few pictures taken at the Gotham Steak restaurant.
Read the rest of this entry »
23 Feb, 2009
On wednesday my holidays are starting 🙂
I’m flying to New York and will stay a few days in New York. After that I’m flying to Seattle to attend the Microsoft Global MVP Summit 2009. After the summit, I’m flying to Miami and will stay around 1 week there. I’m looking forward to my trip 🙂
23 Feb, 2009
A console application should always be designed to do whatever it is supposed to do and then exit without asking the user to press any key. The reason for this is that console applications are often used within scripts to automate several tasks. Obviously, you don’t want one console application launched by the script to wait until the user presses any key because that would be against the whole purpose of writing that script in the first place. However, sometimes it might be useful to pause the console application right before exiting. I wrote a small article that explains a way to add this support to your application elegantly without breaking support for scripting.
The article also shows how to detect that a new console was spawned on Windows. When you have a console application on Windows and you launch it by double-clicking its icon in Windows Explorer, a new console will be created but will disappear at the end of the execution and you probably won’t be able to read anything from the console. However, when you run your console application by typing the command in an existing console, your application will write all its output to that console and, when finished, you will be returned to the console prompt without the console being closed. There is a trick that can be used on Windows to automatically detect whether a new console window was opened or if your application was started from inside an existing console. The trick is to find out the cursor position in your console at the very beginning of your program. If the cursor position is (0,0), it is highly likely that a new console window was spawned. The article contains some source code to demonstrate this trick.
Read the full article.
23 Feb, 2009
Windows 7
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.
23 Feb, 2009
Windows 7
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.
1 Feb, 2009
The following new features have been implemented in Wallpaper Cycler:
- You can now rotate any image by 90°, 180° or 270°.
- The N/A that was rendered to the desktop when something went wrong with processing a news feed can now be disabled in the global WPC settings. When disabled, WPC will not render any text when a news feed error happens.
- Also allow F2 and Slow Double Click to rename wallpapers, however, in that case a dialog pops up in which you do the renaming, because a warning message has to be displayed.
- You can now press CTRL+C in the EXIF data dialog to copy the selected EXIF data to the clipboard.
- A new option in Tools > Program Settings > Miscellaneous to disable the error balloons that are shown when something goes wrong while downloading a news feed.
- Added a button to the toolbar to quickly change the cycling settings (delay between wallpapers).
- Added a button to the toolbar to quickly change the cycling sound.
I made the following bug fixes for Wallpaper Cycler:
- Error messages during rendering appeared behind main WPC window, causing confusion.
- Calendar template “Bright” has 2 times the year at the top.
- Cycling is working now on Windows 7 🙂
- The “Random” screensaver transition effect was not that ‘random’ + sometimes a bit slow.
- Wallpaper Cycler can rerender the wallpaper automatically when the screen resolution has changed. This is an old feature, but is now enabled by default.
- The “Spiral In” and “Box In” screensaver transition effects left a 3-5 pixel horizontal line in the middle of the screen when running at 1440×900.
- Link targets didn’t work on wallpaper objects, calendar objects and frame objects.
- Removed font references to Californian in templates since that’s not a font installed by default on Windows.
- The text object renderer in a layout again properly calculates the bounding box.
- WPC would crash when a layout contained a calendar object that was too small to render all days.
- WPC would crash when a layout contained an object with a width or height of 0.
- Rendering of gradients was broken after adding the rotation option to wallpapers.
- The small preview image in the OSD was sometimes cut off.
- The pick background/text color dialogs now correctly keep aspect ratio of the image.
- The info panel will now allow you to quickly check if a wallpaper is linked to a layout either directly or indirectly through one of its parent categories.
- The RSS feeds again show a brief description of a feed entry and not the entire entry.
- View Details/Thumbnails now have an icon in the Wallpapers menu.
- Open a wcl, then go to File>Open, click Cancel, previous WCL was closed.
- Removed dots behind “move layout up…”, “move layout down…” menu items.
- An issue with resizing the main window and the tiling combo box in the Info Panel.