<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Wot u do with .net  : Windows 7</title><link>http://blogs.msdn.com/paulfo/archive/tags/Windows+7/default.aspx</link><description>Tags: Windows 7</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>PDC 09 attendees get free Win7 laptop</title><link>http://blogs.msdn.com/paulfo/archive/2009/11/18/pdc-09-attendees-get-free-win7-laptop.aspx</link><pubDate>Wed, 18 Nov 2009 17:41:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9924408</guid><dc:creator>paulfo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/paulfo/comments/9924408.aspx</comments><wfw:commentRss>http://blogs.msdn.com/paulfo/commentrss.aspx?PostID=9924408</wfw:commentRss><description>&lt;p&gt;Steven Sinofsky announced at PDC09 day 2 keynote, that all PDC 09 attendees would receive a MSFT designed, Acer built, Windows 7 laptop free of charge.&lt;/p&gt;  &lt;p&gt;The laptop has a touch screen, full sensor and location functionality, is 64-bit and fully loaded up with Office 2010 beta and lots more.&lt;/p&gt;  &lt;p&gt;Designed to enable application developers to get to grips with Windows 7 features, the keynote audience were first stunned and then jubilant at the gift.&lt;/p&gt;  &lt;p&gt;To get going on Windows 7 application enhancement take a look &lt;a href="http://bit.ly/sSlF"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:ebfdb1cf-bf49-44ef-a747-64cd6eee95d6" class="wlWriterEditableSmartContent"&gt;&lt;div id="63915557-25d1-48bc-b8a8-ad2e325eed77" style="margin: 0px; padding: 0px; display: inline;"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=0jd_Y9vxY24" target="_new"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/paulfo/WindowsLiveWriter/PDC09attendeesgetfreeWin7laptop_F8CE/videoba1968d6d43a.jpg" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('63915557-25d1-48bc-b8a8-ad2e325eed77'); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/0jd_Y9vxY24&amp;amp;hl=en\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/0jd_Y9vxY24&amp;amp;hl=en\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;" alt=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9924408" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/paulfo/archive/tags/Video/default.aspx">Video</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/PDC2008/default.aspx">PDC2008</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/UKDPETeam/default.aspx">UKDPETeam</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/UKDPE/default.aspx">UKDPE</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/Paul+Foster/default.aspx">Paul Foster</category></item><item><title>Taking your app forward to Win7</title><link>http://blogs.msdn.com/paulfo/archive/2009/11/18/taking-your-app-forward-to-win7.aspx</link><pubDate>Wed, 18 Nov 2009 15:09:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9924308</guid><dc:creator>paulfo</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/paulfo/comments/9924308.aspx</comments><wfw:commentRss>http://blogs.msdn.com/paulfo/commentrss.aspx?PostID=9924308</wfw:commentRss><description>&lt;p&gt;If you are looking for a concise guide to the features you should consider for your application to shine on Windows 7 look &lt;a href="http://bit.ly/sSlF"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;A simple list of the 7 things you could do to rejuvenate your applications and ensure they work will and correctly in the modern world of Windows 7.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9924308" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/paulfo/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/Windows+7/default.aspx">Windows 7</category></item><item><title>Aspire Ferrari One – rocks. A netbook as netbooks should be</title><link>http://blogs.msdn.com/paulfo/archive/2009/10/27/aspire-ferrari-one-rocks-a-netbook-as-netbooks-should-be.aspx</link><pubDate>Tue, 27 Oct 2009 10:24:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9913426</guid><dc:creator>paulfo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/paulfo/comments/9913426.aspx</comments><wfw:commentRss>http://blogs.msdn.com/paulfo/commentrss.aspx?PostID=9913426</wfw:commentRss><description>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://blogs.msdn.com/paulfo/archive/2009/10/27/aspire-ferrari-one-rocks-a-netbook-as-netbooks-should-be.aspx";digg_title = "Aspire Ferrari One – rocks. A netbook as netbooks should be";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://img.hexus.net/v2/news/acer/Ferrari-F200-One-1.jpg" width="300" height="280" /&gt;My latest purchase is an Acer Ferrari One netbook. This is a netbook like no other and the way netbooks should be! It is the same size as the current restricted Atom 11.6” screen netbooks, with 1366x768 res - but this one runs the AMD Athlon X2 L310 processor. Yes this is a dual core, 64-bit, workable screen res netbook baby!&lt;/p&gt;  &lt;p&gt;With support for up to 4GB RAM and a 250GB HDD the graphics are provided by the ATiRadeon HD 3200. The Windows Experience Index says it all:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/paulfo/WindowsLiveWriter/AspireFerrari.Anetbookasnetbooksshouldbe_9258/acerwei.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="acerwei" border="0" alt="acerwei" src="http://blogs.msdn.com/blogfiles/paulfo/WindowsLiveWriter/AspireFerrari.Anetbookasnetbooksshouldbe_9258/acerwei_thumb.png" width="521" height="138" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;All this for just £399. It is pretty amazing especially when you compare it to the competition. The word on the street is that Intel won’t allow powerful Atoms in the larger screen sized netbooks – protecting full processor laptop sales. This is why they are all Z520 1.2Ghz things – lacking puff. &lt;/p&gt;  &lt;p&gt;But even when you look at the ‘proper’ laptops, the Acer Ferrari One is still an amazing buy.&lt;/p&gt;  &lt;p&gt;Look at the Sony Vaio TT range. Typical Windows Experience Indices look like this:&lt;/p&gt;  &lt;p&gt;Processor = 4.3    &lt;br /&gt;Memory (RAM) = 4.9     &lt;br /&gt;Graphics = 3.2     &lt;br /&gt;Gaming graphics = 4.9     &lt;br /&gt;Primary hard disk = 6.2&lt;/p&gt;  &lt;p&gt;At best only 0.6 of an index better than the Ferrari One. Yet the TT range sells for over £1400 – 3.5 times the price of the Ferrari One, making the Ferrari One an awesome deal.&lt;/p&gt;  &lt;p&gt;The Ferrari One was shipped with Windows 7 Home Premium. I upgraded this to Windows 7 Ultimate by using the Windows Anytime Upgrade feature – allowing you to purchase a new product key and download additional functionality over an internet connection. It took very little time at all, I didn’t time it but it felt like 30mins.&lt;/p&gt;  &lt;p&gt;I’m running Office 2010 (internal build), VS2008 Pro, VS2010 Ultimate beta 2, SQL Express 2008 and Expression Studio 3.&lt;/p&gt;  &lt;p&gt;Unlike other Atom based netbooks, the Ferrari one doesn’t stall when you have more than one application open. Making it awesome for travel and good enough for every day use (although to be perfect for dev I need a smidge more proc perf).&lt;/p&gt;  &lt;p&gt;The Ferrari One has a Synaptics’ multi-gesture touchpad. This appears to only support mouse style functionality (wheel zoom etc) via gestures. Windows 7 doesn’t see it as a multi-touch device :-( Although I have seen mod’ed drivers on the web that apparently enable this functionality. Have to say, if a proper driver for multi-touch was provided the Ferrari One would be ‘the best machine I have ever owned’. And that is some recommendation.&lt;/p&gt;  &lt;p&gt;My Ferrari One model doesn’t have the built in 3G support, or Bluetooth. But I have a 3G stick I use across all my machines as needed and I don’t use BT.&lt;/p&gt;  &lt;p&gt;I am keeping an eye out for ‘Graphics Boosters’ that use the ATI XGP port on the side of the Ferrari One. In theory at least, these devices extend the graphics capability by as much as x4 performance, and bring support for more than two simultaneous monitors and an HDMI out perfect compliment to the Dolby Home Theatre sound supported on the Ferrari One. It’d be pretty cool to use the Ferrari One in a multi-monitor work station with VS2010 (you can have different IDE windows open on different monitors).&lt;/p&gt;  &lt;p&gt;The full spec of my Ferrari One:&lt;/p&gt;  &lt;p&gt;Model: ZH6&lt;/p&gt;  &lt;p&gt;Processor:&amp;#160; AMD Althon 64 X2 dual-core processor L310 (1.20Ghz, 1mb L2 Cache)&lt;/p&gt;  &lt;p&gt;LCD: 11.6” HD Acer LED LCD (1366x768)&lt;/p&gt;  &lt;p&gt;Graphics: Radeon HD 3200 up to 896mb memory (shared)&lt;/p&gt;  &lt;p&gt;Memory: 2GB&lt;/p&gt;  &lt;p&gt;Storage: 250GB HDD&lt;/p&gt;  &lt;p&gt;Card reader: Multi-in-1&lt;/p&gt;  &lt;p&gt;WLAN: Acer Nplify 802.11/b/g/ Draft –N&lt;/p&gt;  &lt;p&gt;Web cam: Acer Crystal Eye webcam (0.3mega pixel)&lt;/p&gt;  &lt;p&gt;Battery: 6-cell Li-on (appears that I’m getting 5hrs on balanced power management. Spare battery around £90).&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9913426" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/paulfo/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/Ferrari/default.aspx">Ferrari</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/Paul+Foster/default.aspx">Paul Foster</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/Netbook/default.aspx">Netbook</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/Wotudo/default.aspx">Wotudo</category></item><item><title>Making your app shine on Windows 7: Tabbed Thumb Nails</title><link>http://blogs.msdn.com/paulfo/archive/2009/10/22/making-your-app-shine-on-windows-7-tabbed-thumb-nails.aspx</link><pubDate>Thu, 22 Oct 2009 08:38:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9911200</guid><dc:creator>paulfo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/paulfo/comments/9911200.aspx</comments><wfw:commentRss>http://blogs.msdn.com/paulfo/commentrss.aspx?PostID=9911200</wfw:commentRss><description>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://blogs.msdn.com/paulfo/archive/2009/10/22/making-your-app-shine-on-windows-7-tabbed-thumb-nails.aspx";digg_title = "Making your app shine on Windows 7: Tabbed Thumb Nails";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;This post is one in a series of posts covering the &lt;a href="http://code.msdn.microsoft.com/WindowsAPICodePack" target="_blank"&gt;Windows API Code Pack&lt;/a&gt;. The code pack provides a managed code framework for using the new native Windows 7 features.&lt;/p&gt;  &lt;p&gt;In this post we’ll examine how to implement thumbnail previews for a tabbed application UI. We’ll add to each thumbnail preview some buttons to control our application directly from the preview thumbnail. You need to be using .Net 3.5 SP1.&lt;/p&gt;  &lt;p&gt;I used a simple C# Winforms project to test this all out. You’ll need to add five references:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Lucida Console"&gt;WindowsBase&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Lucida Console"&gt;PresentationCore&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Lucida Console"&gt;PresentationFramework&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Lucida Console"&gt;Microsoft.WindowsAPICodePack&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Lucida Console"&gt;Microsoft.WindowsAPICodePack.Shell&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;The code pack framework provides Integration to the Windows 7 thumbnail preview via the TaskbarManager class. The class contains four methods and five properties. The methods mainly deal with the overlay of icons onto the taskbar icon and the progress bar overlay that I’m sure you are already familiar with in Windows 7.&lt;/p&gt;  &lt;p&gt;The properties are the interesting bits for using thumbnail previews. The first property is a a boolean flag – IsPlatformSupported - to indicate if the current platform your app is running on can support thumbnails. Then you have Instance and ApplicationId. Instance represents the Windows Taskbar, and ApplicationId is the unique identifier for your application.&lt;/p&gt;  &lt;p&gt;Then you have the two most useful properties; the TabbedThumbnail and ThumbnailToolbars. These get the manager class for each type allowing you to add and update the thumbnail previews associated with your application and the toolbars that may also exist for each of the previews for your application. Yes each preview could have a different toolbar for each tabbed thumbnail.&lt;/p&gt;  &lt;p&gt;To add support to your application for thumbnail previews all you have to do is populate and maintain these two collections as necessary for your application. Because the code pack framework is provided as a static library doing this is very simple. &lt;/p&gt;  &lt;p&gt;I have a tabcontrol in my Winforms app that allows me to add new tabs containing new instances of the WebBrowser control. In my add new tab button click event I run the following code:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:95980625-4c44-400f-9055-3cadbf0248c9" class="wlWriterSmartContent"&gt;   &lt;div style="border-bottom: #000080 1px solid; border-left: #000080 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; color: #000; font-size: 10pt; border-top: #000080 1px solid; border-right: #000080 1px solid"&gt;     &lt;div style="padding-bottom: 2px; padding-left: 5px; padding-right: 5px; font-family: verdana, tahoma, arial, sans-serif; background: #000080; color: #fff; font-weight: bold; padding-top: 2px"&gt;Code Snippet&lt;/div&gt;      &lt;div style="background: #ddd; max-height: 500px; overflow: auto"&gt;       &lt;ol style="padding-bottom: 0px; margin: 0px 0px 0px 2.5em; padding-left: 5px; padding-right: 0px; background: #ffffff; padding-top: 0px"&gt;         &lt;li&gt;&lt;span style="color: #2b91af"&gt;TabPage&lt;/span&gt; newTab = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;TabPage&lt;/span&gt;(&lt;span style="color: #a31515"&gt;&amp;quot;Tab &amp;quot;&lt;/span&gt; + tabControl1.TabPages.Count + 1); &lt;/li&gt;          &lt;li style="background: #f3f3f3"&gt;tabControl1.TabPages.Add(newTab); &lt;/li&gt;          &lt;li&gt;&lt;span style="color: #2b91af"&gt;WebBrowser&lt;/span&gt; wb = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;WebBrowser&lt;/span&gt;(); &lt;/li&gt;          &lt;li style="background: #f3f3f3"&gt;wb.DocumentTitleChanged += &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;EventHandler&lt;/span&gt;(wb_DocumentTitleChanged); &lt;/li&gt;          &lt;li&gt;wb.DocumentCompleted += &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;WebBrowserDocumentCompletedEventHandler&lt;/span&gt;(wb_DocumentCompleted); &lt;/li&gt;          &lt;li style="background: #f3f3f3"&gt;wb.Navigated += &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;WebBrowserNavigatedEventHandler&lt;/span&gt;(wb_Navigated); &lt;/li&gt;          &lt;li&gt;wb.Dock = &lt;span style="color: #2b91af"&gt;DockStyle&lt;/span&gt;.Fill; &lt;/li&gt;          &lt;li style="background: #f3f3f3"&gt;wb.Navigate(textBox1.Text); &lt;/li&gt;          &lt;li&gt;newTab.Controls.Add(wb); &lt;/li&gt;          &lt;li style="background: #f3f3f3"&gt;&amp;#160; &lt;/li&gt;          &lt;li&gt;&lt;span style="color: #008000"&gt;// Add thumbnail toolbar buttons&lt;/span&gt; &lt;/li&gt;          &lt;li style="background: #f3f3f3"&gt;&lt;span style="color: #2b91af"&gt;TaskbarManager&lt;/span&gt;.Instance.ThumbnailToolbars.AddButtons(newTab.Handle, thumbButtonBack, thumbButtonForward, thumbButtonRefresh); &lt;/li&gt;          &lt;li&gt;&amp;#160; &lt;/li&gt;          &lt;li style="background: #f3f3f3"&gt;&lt;span style="color: #008000"&gt;// Add a new preview&lt;/span&gt; &lt;/li&gt;          &lt;li&gt;&lt;span style="color: #2b91af"&gt;TabbedThumbnail&lt;/span&gt; preview = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;TabbedThumbnail&lt;/span&gt;(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.Handle, newTab.Handle); &lt;/li&gt;          &lt;li style="background: #f3f3f3"&gt;&amp;#160; &lt;/li&gt;          &lt;li&gt;&lt;span style="color: #008000"&gt;// Event handlers for this preview&lt;/span&gt; &lt;/li&gt;          &lt;li style="background: #f3f3f3"&gt;preview.TabbedThumbnailActivated += &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;EventHandler&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;TabbedThumbnailEventArgs&lt;/span&gt;&amp;gt;(preview_TabbedThumbnailActivated); &lt;/li&gt;          &lt;li&gt;preview.TabbedThumbnailClosed += &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;EventHandler&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;TabbedThumbnailEventArgs&lt;/span&gt;&amp;gt;(preview_TabbedThumbnailClosed); &lt;/li&gt;          &lt;li style="background: #f3f3f3"&gt;preview.TabbedThumbnailMaximized += &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;EventHandler&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;TabbedThumbnailEventArgs&lt;/span&gt;&amp;gt;(preview_TabbedThumbnailMaximized); &lt;/li&gt;          &lt;li&gt;preview.TabbedThumbnailMinimized += &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;EventHandler&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;TabbedThumbnailEventArgs&lt;/span&gt;&amp;gt;(preview_TabbedThumbnailMinimized); &lt;/li&gt;          &lt;li style="background: #f3f3f3"&gt;&amp;#160; &lt;/li&gt;          &lt;li&gt;&lt;span style="color: #2b91af"&gt;TaskbarManager&lt;/span&gt;.Instance.TabbedThumbnail.AddThumbnailPreview(preview); &lt;/li&gt;          &lt;li style="background: #f3f3f3"&gt;&amp;#160; &lt;/li&gt;          &lt;li&gt;&lt;span style="color: #008000"&gt;// Select the tab in the application UI as well as taskbar tabbed thumbnail list&lt;/span&gt; &lt;/li&gt;          &lt;li style="background: #f3f3f3"&gt;tabControl1.SelectedTab = newTab; &lt;/li&gt;          &lt;li&gt;&lt;span style="color: #2b91af"&gt;TaskbarManager&lt;/span&gt;.Instance.TabbedThumbnail.SetActiveTab(tabControl1.SelectedTab); &lt;/li&gt;       &lt;/ol&gt;     &lt;/div&gt;   &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;As you can see. I add a new tabpage, create a new instance of a WebBrowser control. Tie some events to it – these have meaningful code in them ensuring the correct thumbnail behaviour occurs on the Taskbar – and add the browser control to the tabpage.&lt;/p&gt;  &lt;p&gt;Then I add the ThumbnailToolbars buttons. These have already been defined at class level.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:c49cecd1-0b83-4dd6-bee7-e83e91fb0ef6" class="wlWriterSmartContent"&gt;   &lt;div style="border-bottom: #000080 1px solid; border-left: #000080 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; color: #000; font-size: 10pt; border-top: #000080 1px solid; border-right: #000080 1px solid"&gt;     &lt;div style="padding-bottom: 2px; padding-left: 5px; padding-right: 5px; font-family: verdana, tahoma, arial, sans-serif; background: #000080; color: #fff; font-weight: bold; padding-top: 2px"&gt;Code Snippet&lt;/div&gt;      &lt;div style="background: #ddd; max-height: 500px; overflow: auto"&gt;       &lt;ol style="padding-bottom: 0px; margin: 0px 0px 0px 2em; padding-left: 5px; padding-right: 0px; background: #ffffff; padding-top: 0px"&gt;         &lt;li&gt;&amp;#160; &lt;/li&gt;          &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #2b91af"&gt;ThumbnailToolbarButton&lt;/span&gt; thumbButtonBack; &lt;/li&gt;          &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #2b91af"&gt;ThumbnailToolbarButton&lt;/span&gt; thumbButtonForward; &lt;/li&gt;          &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #2b91af"&gt;ThumbnailToolbarButton&lt;/span&gt; thumbButtonRefresh; &lt;/li&gt;       &lt;/ol&gt;     &lt;/div&gt;   &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Then a new instance of a TabbedThumbnail is created naming the Windows handle and the new tabpage handle. Following this the event handlers for the thumbnail toolbar buttons are attached.&lt;/p&gt;  &lt;p&gt;Our TabbedThumbnail definition is then added to the Taskbar instance’s collection of TabbedThumbnails. And finally, we ensure the new tabpage is the current tabpage in focus on the tabcontrol and on the taskbar.&lt;/p&gt;  &lt;p&gt;The rest of the code in the application ensures that when tabpages are changed in the tabcontrol the preview thumbnails are synchronised. And likewise, when preview thumbnails are selected or hovered over the correct tabpage is brought to focus.&lt;/p&gt;  &lt;p&gt;The end result lookis like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://wotudo.net/blogs/wotudo/image_11CB0883.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://wotudo.net/blogs/wotudo/image_thumb_7EE65F0B.png" width="475" height="259" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;There are all sorts of additional goodies in the TabbedThumbnail class properties that allow you to clip the bitmap and effective zoom into it as well as provide tooltips etc.&lt;/p&gt;  &lt;p&gt;Adding thumbnail previews to your applications seems a small effort for achieving one of the most visible enhancements in the Windows 7 UI. The code pack API makes it easy to do.&lt;/p&gt;  &lt;p&gt;My complete application can be downloaded from &lt;a href="http://wotudo.net/files/folders/how2/entry544.aspx" target="_blank"&gt;here&lt;/a&gt;. It is a simplified version of the code pack Thumbnail sample.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9911200" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/paulfo/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/UKDPETeam/default.aspx">UKDPETeam</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/UKDPE/default.aspx">UKDPE</category></item><item><title>XNA 3.1 install onto Windows 7</title><link>http://blogs.msdn.com/paulfo/archive/2009/10/22/xna-3-1-install-onto-windows-7.aspx</link><pubDate>Thu, 22 Oct 2009 08:37:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9911198</guid><dc:creator>paulfo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/paulfo/comments/9911198.aspx</comments><wfw:commentRss>http://blogs.msdn.com/paulfo/commentrss.aspx?PostID=9911198</wfw:commentRss><description>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://blogs.msdn.com/paulfo/archive/2009/10/22/xna-3-1-install-onto-windows-7.aspx";digg_title = "XNA 3.1 install onto Windows 7";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;I nuked my machines to move up to a clean build of Windows 7 RTM. In rebuilding them I hit a snag with the XNA3.1 install. The install would start and then rollback just after the redistributables copy started.&lt;/p&gt;  &lt;p&gt;To overcome this issue I set the runtime compatibility of the XNA 3.1 install file to be Windows Vista Service Pack 2 – you do this from the file property dialog. Re-running the XNA 3.1 install it all worked fine.&lt;/p&gt;  &lt;p&gt;On starting VS2008 Pro I see that I have both XNA 3.0 and XNA 3.1 project templates available.&lt;/p&gt;  &lt;p&gt;A quick test building the platform game and everything looks good.&lt;/p&gt;  &lt;p&gt;Now I just need a Zune HD!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9911198" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/paulfo/archive/tags/XNA/default.aspx">XNA</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/Windows+7/default.aspx">Windows 7</category></item><item><title>Making your app shine on Windows 7: Jumplist</title><link>http://blogs.msdn.com/paulfo/archive/2009/10/22/making-your-app-shine-on-windows-7-jumplist.aspx</link><pubDate>Thu, 22 Oct 2009 08:35:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9911196</guid><dc:creator>paulfo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/paulfo/comments/9911196.aspx</comments><wfw:commentRss>http://blogs.msdn.com/paulfo/commentrss.aspx?PostID=9911196</wfw:commentRss><description>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://blogs.msdn.com/paulfo/archive/2009/10/22/making-your-app-shine-on-windows-7-jumplist.aspx";digg_title = "Making your app shine on Windows 7: Jumplist";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;This post is one in a series of posts covering the Windows API Code Pack. The code pack provides a managed code framework for using the new native Windows 7 features.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;After thumbnail previews the next item you’ll be looking to implement for your application is a Jumplist. A Jumplist may provide shortcuts to recent documents, frequently use documents and application functionality.&lt;/p&gt;  &lt;p&gt;Setting up a jumplist for your application is as simple as simple can be using the code pack managed API – but there are some gotchas worth noting.&lt;/p&gt;  &lt;p&gt;First, you have to have a valid active window on the taskbar before you can create your jumplist. This isn’t obvious – except when you get the code pack’s error message on first run of your modified application. Remember, in working with the new Taskbar features, you are actually providing the Taskbar with details you want it to attribute to your application. If it doesn’t know about your application, it can’t take your details.&lt;/p&gt;  &lt;p&gt;Second, the code pack API does a good job of proactive error detection. For example, it’ll test to make sure the file you want to list on your jumplist exists. If it doesn’t you get blown out before you get near the Taskbar. The same with file associations. The code pack tests for the file association relationship to your application. If it doesn’t you can’t list the file. For more details on this one, look at the code pack TaskBarDemo sample. You might wonder why this extreme protection. The answer lines in the third gotcha.&lt;/p&gt;  &lt;p&gt;Third, the known category types (Recent, Frequent) are populated by the Taskbar for your application ‘automagically’. So you only have to choose to show one of these categories in your jumplist to get the information displayed. This is because Windows maintains a recent items history infrastructure when you use the current common file dialogs( or explicitly call the relevant API). If you don’t use them (why?), you can hand code this mechanism by using the shell API SHAddToRecentDocs or the code pack’s jumplist.AddToRecent method.&lt;/p&gt;  &lt;p&gt;Fourth, the code pack’s jumplist does a lot of good stuff. This includes maintaining your jumplist against the removed items list created by the user. You may want to have all the items in the jumplist but the user can selectively remove file references from your list. It’s considered bad form to keep putting the item back when the user has removed it, jumplist ensures you don’t make this mistake. If you don’t use jumplist you have to check the removedDestinations property and modify the list yourself.&lt;/p&gt;  &lt;p&gt;Now lets look at the code. Below is the specific parts of a C# Winforms application showing the creation of a jumplist:&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:1a3f340c-075a-4bfb-8c11-47c874c73707" class="wlWriterSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px"&gt;Code Snippet&lt;/div&gt; &lt;div style="background: #ddd; max-height: 500px; overflow: auto"&gt; &lt;ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;"&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;partial&lt;/span&gt; &lt;span style="color:#0000ff"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Form1&lt;/span&gt; : &lt;span style="color:#2b91af"&gt;Form&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;{&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; &lt;span style="color:#2b91af"&gt;JumpList&lt;/span&gt; jumpList;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; &lt;span style="color:#2b91af"&gt;JumpListCustomCategory&lt;/span&gt; category1 = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;JumpListCustomCategory&lt;/span&gt;(&lt;span style="color:#a31515"&gt;&amp;quot;Custom Stuff&amp;quot;&lt;/span&gt;);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; &lt;span style="color:#2b91af"&gt;JumpListCustomCategory&lt;/span&gt; category2 = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;JumpListCustomCategory&lt;/span&gt;(&lt;span style="color:#a31515"&gt;&amp;quot;Custom Stuff2&amp;quot;&lt;/span&gt;);&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; Form1()&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;InitializeComponent();&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff"&gt;void&lt;/span&gt; Form1_Shown(&lt;span style="color:#0000ff"&gt;object&lt;/span&gt; sender, &lt;span style="color:#2b91af"&gt;EventArgs&lt;/span&gt; e)&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#008000"&gt;// create a new taskbar jump list for the main window&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;jumpList = &lt;span style="color:#2b91af"&gt;JumpList&lt;/span&gt;.CreateJumpList();&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#008000"&gt;// Add custom categories&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;jumpList.AddCustomCategories(category1, category2);&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;AddTasks();&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;jumpList.Refresh();&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff"&gt;void&lt;/span&gt; AddTasks()&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#008000"&gt;// Path to Windows system folder&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; systemFolder = &lt;span style="color:#2b91af"&gt;Environment&lt;/span&gt;.GetFolderPath(&lt;span style="color:#2b91af"&gt;Environment&lt;/span&gt;.&lt;span style="color:#2b91af"&gt;SpecialFolder&lt;/span&gt;.System);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#008000"&gt;// Add our user tasks&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;jumpList.AddUserTasks(&lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;JumpListLink&lt;/span&gt;(&lt;span style="color:#2b91af"&gt;Path&lt;/span&gt;.Combine(systemFolder, &lt;span style="color:#a31515"&gt;&amp;quot;notepad.exe&amp;quot;&lt;/span&gt;), &lt;span style="color:#a31515"&gt;&amp;quot;Open Notepad&amp;quot;&lt;/span&gt;)&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;IconReference = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;IconReference&lt;/span&gt;(&lt;span style="color:#2b91af"&gt;Path&lt;/span&gt;.Combine(systemFolder, &lt;span style="color:#a31515"&gt;&amp;quot;notepad.exe&amp;quot;&lt;/span&gt;), 0)&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;});&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;jumpList.AddUserTasks(&lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;JumpListLink&lt;/span&gt;(&lt;span style="color:#2b91af"&gt;Path&lt;/span&gt;.Combine(systemFolder, &lt;span style="color:#a31515"&gt;&amp;quot;mspaint.exe&amp;quot;&lt;/span&gt;), &lt;span style="color:#a31515"&gt;&amp;quot;Open Paint&amp;quot;&lt;/span&gt;)&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;IconReference = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;IconReference&lt;/span&gt;(&lt;span style="color:#2b91af"&gt;Path&lt;/span&gt;.Combine(systemFolder, &lt;span style="color:#a31515"&gt;&amp;quot;mspaint.exe&amp;quot;&lt;/span&gt;), 0)&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;});&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;jumpList.AddUserTasks(&lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;JumpListSeparator&lt;/span&gt;());&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;jumpList.AddUserTasks(&lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;JumpListLink&lt;/span&gt;(&lt;span style="color:#2b91af"&gt;Path&lt;/span&gt;.Combine(systemFolder, &lt;span style="color:#a31515"&gt;&amp;quot;calc.exe&amp;quot;&lt;/span&gt;), &lt;span style="color:#a31515"&gt;&amp;quot;Open Calculator&amp;quot;&lt;/span&gt;)&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;IconReference = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;IconReference&lt;/span&gt;(&lt;span style="color:#2b91af"&gt;Path&lt;/span&gt;.Combine(systemFolder, &lt;span style="color:#a31515"&gt;&amp;quot;calc.exe&amp;quot;&lt;/span&gt;), 0)&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;});&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;/li&gt; &lt;li&gt;}&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;All the work is kicked off in the form’s Shown event. With the creation of a jumplist. Two custom categories are added to it. Then some tasks are added that open other applications. The jumplist is ‘published’ by calling jumplist.refresh();&lt;/p&gt;  &lt;p&gt;Remember the Jumplist is created by the Taskbar for your application. Unlike the Thumbnail preview toolbars there doesn’t appear to be a mechanism of capturing jumplist events into your application. The only event raised by jumplist is when items have been removed from the jumplist since the last jumplist refresh occurred. This means achieving something similar to Internet Explorer 8’s Open new tab jumplist task, requires an ‘external’ communication to occur with your application.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9911196" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/paulfo/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/UKDPETeam/default.aspx">UKDPETeam</category></item><item><title>Win 7 beta download stopping 10th Feb</title><link>http://blogs.msdn.com/paulfo/archive/2009/02/06/win-7-beta-download-stopping-10th-feb.aspx</link><pubDate>Fri, 06 Feb 2009 14:41:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9401839</guid><dc:creator>paulfo</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/paulfo/comments/9401839.aspx</comments><wfw:commentRss>http://blogs.msdn.com/paulfo/commentrss.aspx?PostID=9401839</wfw:commentRss><description>&lt;p&gt;The Windows 7 beta is only available until the 10&lt;sup&gt;th&lt;/sup&gt; February to download, &lt;a href="http://technet.microsoft.com/en-gb/windows/dd353205.aspx"&gt;so get your copy now&lt;/a&gt;! &lt;p&gt;MSDN and TechNet Subscribers will continue to have access to the Windows 7 Beta bits throughout the Windows 7 Beta phase. The above dates do not apply to MSDN and TechNet Subscribers.  &lt;p&gt;Product keys for the Windows 7 Beta will continue to be available. So if you have the Windows 7 Beta but didn’t get a product key you will be able to do so even after February 12th.  &lt;p&gt;To get more information on Windows 7, check out the following resources: &lt;p&gt;&lt;a href="http://technet.microsoft.com/en-gb/windows/dd353205.aspx"&gt;Windows 7 TechCentre&lt;/a&gt; &lt;p&gt;&lt;a href="http://technet.microsoft.com/en-gb/library/dd349348.aspx"&gt;Windows 7 Beta Deployment Guide&lt;/a&gt; &lt;p&gt;&lt;a href="http://social.technet.microsoft.com/Forums/en/category/w7itpro/"&gt;Windows 7 Forums&lt;/a&gt; &lt;p&gt;Visit the &lt;a href="http://blogs.technet.com/springboard/default.aspx"&gt;Springboard Series blog&lt;/a&gt; to keep an eye on all the announcements&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9401839" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/paulfo/archive/tags/Windows+7/default.aspx">Windows 7</category></item><item><title>Tablets reborn</title><link>http://blogs.msdn.com/paulfo/archive/2008/12/02/tablets-reborn.aspx</link><pubDate>Tue, 02 Dec 2008 14:57:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9164261</guid><dc:creator>paulfo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/paulfo/comments/9164261.aspx</comments><wfw:commentRss>http://blogs.msdn.com/paulfo/commentrss.aspx?PostID=9164261</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/paulfo/WindowsLiveWriter/Tabletsreborn_A825/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="175" alt="image" src="http://blogs.msdn.com/blogfiles/paulfo/WindowsLiveWriter/Tabletsreborn_A825/image_thumb.png" width="244" align="left" border="0"&gt;&lt;/a&gt; Have you seen the new &lt;a href="http://www.hp.com/united-states/campaigns/touchsmart/notebook/index.html?jumpid=reg_R1002_USEN" target="_blank"&gt;HP TouchSmart tx2&lt;/a&gt;? Development of the tablet PC now with HP's TouchSmart technology. It looks pretty awesome and is getting some good reviews but I could only find it on the US HP site - come on UK don't dilly dally!!&lt;/p&gt; &lt;p&gt;Key thing for me is if Windows 7 will support this device - if I can determine this than I'm going to be making another personal purchase real soon. At £799&amp;nbsp; expected RRP the family might have to miss out on a summer holiday &lt;strong&gt;again&lt;/strong&gt; - but I must have my precious!&lt;/p&gt; &lt;p&gt;Can't wait to get coding against a real multi-touch device under Windows 7 - its so COOL!!&lt;/p&gt; &lt;p&gt;I still have the HP TC1000 and TC1100 tablets - the forerunners to this style of 'conversion' tablet design. I love these devices because they work so well, and I can drop the kb and go slate. But the processor power and support for Vista/Win7 just isn't there - so its time for an upgrade.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9164261" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/paulfo/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/HP/default.aspx">HP</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/HP+touchsmart/default.aspx">HP touchsmart</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/Tx2/default.aspx">Tx2</category></item><item><title>Modding the Acer Aspire One</title><link>http://blogs.msdn.com/paulfo/archive/2008/11/28/modding-the-acer-aspire-one.aspx</link><pubDate>Fri, 28 Nov 2008 16:44:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9151633</guid><dc:creator>paulfo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/paulfo/comments/9151633.aspx</comments><wfw:commentRss>http://blogs.msdn.com/paulfo/commentrss.aspx?PostID=9151633</wfw:commentRss><description>&lt;p&gt;My experience of Windows 7 on the Acer Aspire One continues to be highly satisfactory and I've turned to exploring how I can customise the machine. I first looked at memory - I only have 1Gb, and the device can support 1.5Gb. With 512Mb soldered into the motherboard only one socket is available to upgrade. the RAM is inexpensive - typically around £12. But the memory socket is on the underside of the motherboard requiring the complete disassembly of the netbook. Even though I have only 1Gb I don't feel the need to upgrade the RAM - typically the netbook bounces along with &amp;lt;600mb utilised. Even running Photosynth's synther application on photos only causes this to climb to 821mb. I guess as it is a shared memory graphics card I could do with more, but it can wait.&lt;/p&gt; &lt;p&gt;What I'm really missing is Bluetooth and 3G connectivity. Thanks to colleague Keith I got a line on TnkGrl. She is an amazing mobile technology customizer. In a three part blog post, TnkGrl has not only upgraded RAM, but added internal USB Bluetooth, larger disk drives and ultimately 3G!&lt;/p&gt; &lt;p&gt;The third posting - including links to parts 1 and 2 - is posted here &lt;a href="http://tnkgrl.wordpress.com/2008/10/28/modding-the-acer-aspire-one-hsdpa/"&gt;Modding the Acer Aspire One - HSDPA « tnkgrl Mobile&lt;/a&gt; &lt;/p&gt; &lt;p&gt;TnkGrl - I'm a new fan; looking forward to what you're going to try next!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9151633" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/paulfo/archive/tags/Custom+PC/default.aspx">Custom PC</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/AcerAspire+One/default.aspx">AcerAspire One</category></item><item><title>Windows 7 on a Samsung Q1</title><link>http://blogs.msdn.com/paulfo/archive/2008/10/31/windows-7-on-a-samsung-q1.aspx</link><pubDate>Fri, 31 Oct 2008 17:14:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9026683</guid><dc:creator>paulfo</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/paulfo/comments/9026683.aspx</comments><wfw:commentRss>http://blogs.msdn.com/paulfo/commentrss.aspx?PostID=9026683</wfw:commentRss><description>&lt;p&gt;Ian Dixon (Media Centre MVP, UK) has been playing with Windows 7 a bit and has successfully installed it on a Samsung Q1. Ian's Q1 is the 1GB RAM, Celeron M model. You can read about his experience &lt;a href="http://thedigitallifestyle.com/cs/blogs/ian/archive/2008/10/30/windows-7-on-a-samsung-q1.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;I'm very tempted to try the current pre-beta on my OQO Model 2e - it has 1GB RAM but has the 1.6Ghz VIA C7M so I'm hopeful it'll perform even better than the Q1. I can also report that colleagues have Windows 7 running on ASUS Eee PC's - the 900 model if I remember correctly which has a similar spec to the Q1.&lt;/p&gt; &lt;p&gt;Ian even has Windows Media Centre running on his Q1 :-)&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9026683" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/paulfo/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/UMPC/default.aspx">UMPC</category></item><item><title>Windows 7 - the boy band...</title><link>http://blogs.msdn.com/paulfo/archive/2008/10/03/windows-7-the-boy-band.aspx</link><pubDate>Fri, 03 Oct 2008 09:53:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8975164</guid><dc:creator>paulfo</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/paulfo/comments/8975164.aspx</comments><wfw:commentRss>http://blogs.msdn.com/paulfo/commentrss.aspx?PostID=8975164</wfw:commentRss><description>&lt;p&gt;Ok so 'fun' videos seems to be of the moment....&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;iframe src="http://channel8.msdn.com/Posts/8466/player/" frameborder="0" width="320" scrolling="no" height="325"&gt;&lt;/iframe&gt;&lt;br&gt;&lt;a href="http://channel8.msdn.com/Posts/PDC-2008-is-cominghellip-and-I-canrsquot-wait/"&gt;PDC 2008 is coming&amp;amp;hellip; and I can&amp;amp;rsquo;t wait!&lt;/a&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8975164" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/paulfo/archive/tags/Video/default.aspx">Video</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/fun/default.aspx">fun</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/paulfo/archive/tags/PDC2008/default.aspx">PDC2008</category></item></channel></rss>