Introducing Windows 7 for Developers

Monday, November 16, 2009

Our book, “Introducing Windows 7 for Developers”, is now in stock on Amazon! Several months ago, Alon Fliess, Yochay Kiriaty, Laurence Moroney and I decided to write a Windows 7 book for developers. With the abundance of new features in Windows 7 and the great interest from the developer community, we just had to write a book about Windows 7 from a developer perspective :-) I’m at the PDC right now, and I already had an opportunity to sign a couple of Yochay’s copies—it feels amazing to finally see the result of the several months’...
no comments

C++ Wrapper for Windows 7 Taskbar Tabbed Thumbnails

Monday, September 7, 2009

A few weeks ago we took a detailed look at the intrinsic details of providing Windows 7 taskbar tab thumbnails and live previews in a Win32 application. As part of that post I mentioned a C++ wrapper called TabWindow which takes care of most of the nasty details and leaves only the work of creating the tab controls and rendering them to the application developer. Here’s the public API of the TabWindow class and its corresponding TabWindowEventsSink callback interface (slightly edited to fit): class TabWindow { ...
tags: ,

Creating a Custom Windows 7 Troubleshooting Pack

Saturday, September 5, 2009

Windows 7 offers a built-in troubleshooting platform that consolidates the typical user’s support and troubleshooting needs into a single consistent user interface with dozens of specific troubleshooters for common problems. If you haven’t seen the Troubleshooting Platform in action yet, go ahead and type “troubleshooting” into your Windows 7 start menu and open the Troubleshooting control panel applet. You can try some of the troubleshooters now. I’ll wait here. One of the easiest ones to repro and use is the “Check for performance issues” troubleshooter. Go ahead and change your power plan to the...

Windows 7 Taskbar: Tabbed Thumbnails and Previews in Native Code

Wednesday, August 12, 2009

A few months ago, we’ve taken a look at how you can extend your MDI or TDI application with an individual thumbnail and live preview for each tab (or document) that will be displayed in the Windows 7 taskbar. We’ve seen the temporary managed wrapper that makes this possible, and in the final 1.0 release of the Windows API Code Pack there is a more polished managed API that does the same thing. However, in this post I’d like to focus on the underlying details which you will have to deal with if you’re writing your GUI application...
one comment

Windows 7 RTM Training Kit Updates

Sunday, August 9, 2009

Windows 7 RTM is out for a few days now for MSDN and TechNet subscribers, and together with the release of the final bits, Microsoft DPE released the final bits of the Windows 7 Training Kit. Our team at Sela worked days and nights to meet the RTM deadline. Specifically, Alon wrote new multi touch and Libraries hands-on labs, Dima (with Ariel’s help) wrote new labs for the Sensors and Location platform, and I wrote a pair of new labs for taskbar features, one using the final 1.0 release of the Windows API Code Pack and WPF and...
no comments

Windows 7 on 512 MB of RAM

My parents’ three year old PC (running Windows XP) was giving them some trouble lately. Specifically, it was so bloated with odd application installations, crapware of all sorts, and years of careless usage, that I figured that only a clean install could salvage the box. So I asked them to make a backup of all the movies, photos and music they had on their computer, and suggested that we do a clean install of Windows 7. The one catch here was that their machine has 512 MB of RAM. If you look at the Windows 7 hardware requirements,...

Windows 7 is NOT a “Vista Service Pack”

Monday, July 27, 2009

It’s hard to argue with the 127K subscribers to Jeff Atwood’s blog, so when I first read his post titled “Windows 7: The Best Vista Service Pack Ever” I wasn’t immediately sure how to respond. Nonetheless, I would like to try and offer my opinion on some of Jeff’s points, in the hope of giving a different perspective on what Windows 7 really is. Jeff writes: Now that Windows 7 has reached its "release to manufacturing" milestone, I had the opportunity to install it for myself and see. Jeff, I’m sorry, but...

.NET Support for More Than 64 Processors

Saturday, July 25, 2009

Daniel Moth recently blogged about the sad fact that there are no managed APIs for working with more than 64 logical processors, even though as you probably know, Windows 7 (and of course Windows Server 2008 R2) features support for up to 256 logical processors. Frankly, these APIs aren’t designed to be very friendly, but sure enough they give you the ability to create threads (within a single process) that will run on different processor groups. As each processor group is limited to 64 processors, by creating 4 threads you can utilize up to 256 processors, which is...
one comment

Launch a Process as Standard User from an Elevated Process

Thursday, July 9, 2009

There are many well-documented ways for launching an elevated (administrative) process from within a process that is running using standard user credentials. The cleanest way is by giving that process a manifest; if this can’t be done, the ShellExecute “runas” verb is the way to go. This is all yesterday’s news, really. However, there’s a more interesting question: how do you launch a process as the standard user, if the current process is already elevated? As you probably know, a process can’t change its elevation status – an elevated process can’t downgrade itself to a standard user, and...
one comment

Features Aren’t Magically Born

Monday, July 6, 2009

Every time I see Pavel working on his laptop, a question pops into my head: Why don’t you use the Aero theme of Windows Vista and Windows 7, and instead use something that closely resembles Windows Server 2003 – especially considering that your laptop is such a beast of a machine? Today I got my answer, well, kind of. Pavel writes: But if I don’t use Aero I don’t get thumbnail previews and other goodies. Why is that? I asked around and didn’t get a satisfying answer. I’m going to call a...
no comments