<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/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>metty's blog</title><link>http://weblogs.asp.net/mschiffer/default.aspx</link><description>Developers? Developers!</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Bill Gates' 50th birthday today</title><link>http://weblogs.asp.net/mschiffer/archive/2005/10/28/428811.aspx</link><pubDate>Fri, 28 Oct 2005 20:28:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:428811</guid><dc:creator>mschiffer</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschiffer/rsscomments.aspx?PostID=428811</wfw:commentRss><comments>http://weblogs.asp.net/mschiffer/archive/2005/10/28/428811.aspx#comments</comments><description>&lt;p&gt;A remarkable person with quite an impact on what happens on this planet has reached&amp;nbsp;the symbolic age of half a century. Let's see how much impact this personal experience has on what he will do professionally. Noticeable, at least.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=428811" width="1" height="1"&gt;</description></item><item><title>It's a celebration - Windows 95 was introduced 10 years ago</title><link>http://weblogs.asp.net/mschiffer/archive/2005/08/24/423486.aspx</link><pubDate>Tue, 23 Aug 2005 22:45:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:423486</guid><dc:creator>mschiffer</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschiffer/rsscomments.aspx?PostID=423486</wfw:commentRss><comments>http://weblogs.asp.net/mschiffer/archive/2005/08/24/423486.aspx#comments</comments><description>&lt;p&gt;On August 24, 1995, Microsoft started selling Windows 95 to the public in the U.S.. What an interesting anniversary!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=423486" width="1" height="1"&gt;</description></item><item><title>Wal-Mart's Kevin Turner becomes Microsoft's new COO ("Chief Operating Officer")</title><link>http://weblogs.asp.net/mschiffer/archive/2005/08/05/421725.aspx</link><pubDate>Fri, 05 Aug 2005 21:58:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:421725</guid><dc:creator>mschiffer</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschiffer/rsscomments.aspx?PostID=421725</wfw:commentRss><comments>http://weblogs.asp.net/mschiffer/archive/2005/08/05/421725.aspx#comments</comments><description>&lt;p&gt;This is Kevin Turner who, as&amp;nbsp;their new COO starting at September 8th,&amp;nbsp;takes Microsoft's third most important position after Steve Ballmer and Bill Gates. &lt;/p&gt; &lt;p&gt;&lt;img height="99" src="http://www.microsoft.com/presspass/images/thumbnails/turner-tile.jpg" width="122" alt="Kevin Turner, Microsoft's new COO" /&gt;&lt;/p&gt; &lt;p&gt;The COO position at Microsoft had been vacant for about&amp;nbsp;three years (provisionally taken by Kevin Johnson, currently group vice president of worldwide sales, marketing and services). As a COO, Kevin is going to be responsible for Microsoft's sales, marketing activities, service and the company's internal IT infrastructure according to Ballmer.&lt;/p&gt; &lt;p&gt;He receives 7 million US$ for joining Microsoft, a 570,000 US$ salary, an additional&amp;nbsp;yearly bonus up to the amount of his salary and 320,000 Microsoft stocks (over a couple of years -&amp;nbsp;currently worth approx. 9 million US$, let's see how much he makes out of that ;-). Naturally, he'll also take part in the Microsoft bonus program for executives.&lt;/p&gt; &lt;p&gt;Before joining Microsoft, Kevin was president and CEO of Wal-Mart's business &lt;a href="http://www.samsclub.com/eclub/main_about.jsp?stg=STG1"&gt;Sam's Club&lt;/a&gt;, a business for small businesses. During his 19 years at Wal-Mart (starting as a cashier during his studies), he has become an incredibly successful manager.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/presspass/"&gt;Microsoft PressPass&lt;/a&gt; has&amp;nbsp;&lt;a href="http://www.microsoft.com/presspass/press/2005/aug05/08-04TurnerPR.mspx"&gt;some additional information&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=421725" width="1" height="1"&gt;</description></item><item><title>Longhorn is history - here comes Windows Vista!</title><link>http://weblogs.asp.net/mschiffer/archive/2005/07/22/420274.aspx</link><pubDate>Fri, 22 Jul 2005 20:22:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:420274</guid><dc:creator>mschiffer</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschiffer/rsscomments.aspx?PostID=420274</wfw:commentRss><comments>http://weblogs.asp.net/mschiffer/archive/2005/07/22/420274.aspx#comments</comments><description>&lt;p&gt;&lt;img alt="Windows Vista logo" src="http://www.microsoft.com/Presspass/images/gallery/logos/thumbnails/WinVista_h_Thumb.jpg" /&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Today, Microsoft have officially announced that the next Windows platform, codenamed "Longhorn", will be released as "Windows Vista".&lt;/p&gt; &lt;p&gt;Read more at &lt;a href="http://www.microsoft.com/presspass/press/2005/jul05/07-22LHMA.mspx"&gt;Microsoft PressPass&lt;/a&gt; and at the official &lt;a href="http://www.microsoft.com/windowsvista/"&gt;Windows Vista website&lt;/a&gt;.&amp;nbsp;Actually, this doesn't come as a huge surprise. For example, Microsoft Germany has registered the domain windowsvista.de as early as April 12, 2005. Still, I haven't seen much coverage of it until today. Not bad, Microsoft.&lt;/p&gt; &lt;p&gt;Beta 1 of Windows Long... Vista, primarily targeted at professionals, is announced to be available by August 3, 2005 - in less than two weeks.&lt;/p&gt; &lt;p&gt;What they haven't released to the press is how they are going to abbreviate the product. So, let's make some suggestions: WinV sounds a bit lame (to me, at least) and there is that "opposite-Pentium-4-problem" that might mislead people into thinking about Windows 5, while Vista's major&amp;nbsp;version number is actually 6.&lt;/p&gt; &lt;p&gt;How about WinVS (suggested pronounciation "WinVis")?&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=420274" width="1" height="1"&gt;</description></item><item><title>Looking for new IM software (MSN Messenger refuses to work w/o upgrading)</title><link>http://weblogs.asp.net/mschiffer/archive/2005/02/15/373473.aspx</link><pubDate>Tue, 15 Feb 2005 20:51:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:373473</guid><dc:creator>mschiffer</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschiffer/rsscomments.aspx?PostID=373473</wfw:commentRss><comments>http://weblogs.asp.net/mschiffer/archive/2005/02/15/373473.aspx#comments</comments><description>&lt;p&gt;It happened last week or so: "MSN Messenger" popped up a window telling me there's an update. I didn't want one, as the all of the previous updates I downloaded introduced more and more advertisement-orientated tabs to the software and reduced functionality rather than enhancing it. Additionally, the update's new features described on the product website looked meaningless, if not ridiculous.&lt;/p&gt; &lt;p&gt;I can currently no longer log into the&amp;nbsp;Microsoft Directory for MSN Messenger&amp;nbsp;using my current version 6.2.sth of MSN Messenger. As I have learned by researching the MSN Messenger problem (why on earth do I have to do that on my own?), I have been running software exposing my infrastructure to security risks (&lt;a href="http://www.microsoft.com/technet/security/bulletin/MS05-009.mspx"&gt;published to&amp;nbsp;a broad&amp;nbsp;public by Microsoft&lt;/a&gt;) for at least one week without getting to know about the security flaws in MSN Messenger.&lt;/p&gt; &lt;p&gt;What joy.&lt;/p&gt; &lt;p&gt;To make things even worse, I&amp;nbsp;am now being &lt;em&gt;forced&lt;/em&gt; to download an update if I want to continue using MSN Messenger. That is after having been exposed to known and even communicated security flaws for quite a while. I do feel irritated about who decides what regarding MSN Messenger.&lt;/p&gt; &lt;p&gt;Perhaps it's only me, but that does remind me we do urgently need strong competitors in this industry.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=373473" width="1" height="1"&gt;</description></item><item><title>Windows Forms Sourcecode for .NET Framework 2.0</title><link>http://weblogs.asp.net/mschiffer/archive/2005/02/08/369429.aspx</link><pubDate>Tue, 08 Feb 2005 22:25:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:369429</guid><dc:creator>mschiffer</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschiffer/rsscomments.aspx?PostID=369429</wfw:commentRss><comments>http://weblogs.asp.net/mschiffer/archive/2005/02/08/369429.aspx#comments</comments><description>&lt;p&gt;In &lt;a href="http://www.shawnburke.com"&gt;his blog&lt;/a&gt;, Microsoft's &lt;a href="http://www.shawnburke.com/default.aspx?document=185"&gt;Shawn Burke writes&lt;/a&gt; he intends to release the sourcecode for Microsoft Windows Forms within the upcoming .NET Framework 2.0 to the public. It's not that I'm eager to deeply&amp;nbsp;dig into that source, but it would sure make certain debugging scenarios easier for any customer. Go, Shawn!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=369429" width="1" height="1"&gt;</description></item><item><title>Microsoft Malicious Software Removal Tool (you can’t clean a compromised system!)</title><link>http://weblogs.asp.net/mschiffer/archive/2005/01/12/351593.aspx</link><pubDate>Wed, 12 Jan 2005 18:08:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:351593</guid><dc:creator>mschiffer</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschiffer/rsscomments.aspx?PostID=351593</wfw:commentRss><comments>http://weblogs.asp.net/mschiffer/archive/2005/01/12/351593.aspx#comments</comments><description>&lt;p&gt;Microsoft have released a tool to remove well known software worms affecting their platform; they call it the "&lt;a href="http://www.microsoft.com/security/malwareremove/default.mspx"&gt;Malicious Software Removal Tool&lt;/a&gt;". The tool runs on Windows 2000, XP and 2003 only (Windows Me, which you would think to be a widespread consumer OS run by people most in need of any such software, is obviously out of date).&lt;/p&gt; &lt;p&gt;New releases of the "Removal Tool" are planned on a monthly basis for the second Tuesday of each month. What an interesting concept. Obviously, we will see the next generation of Windows worms on the second Tuesday of each month - guaranteeing them &lt;strong&gt;at least&lt;/strong&gt; 30 days of worldwide attacks with the users interested in this offering &lt;strong&gt;wrongly feeling safe&lt;/strong&gt;.&lt;/p&gt; &lt;p align="center"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Wrongly feeling safe is worse than being at risk!&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;table border="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top"&gt;&lt;img height="88" alt="Jesper M. Johansson" src="http://www.nexus.se/images/jesper.gif" width="77" longdesc="This image shows a portrait photograph of Microsoft's Security Program Manager Jesper M. Johansson" /&gt;&lt;/td&gt; &lt;td valign="top"&gt; &lt;p&gt;Microsoft's current&amp;nbsp;&lt;i&gt;Security Program Manager&lt;/i&gt;, Jesper M. Johansson, seems to look at things slightly differently, as he reveals in a &lt;a href="http://www.microsoft.com/technet/security/secnews/articles/gothacked.mspx"&gt;Microsoft TechNet article&lt;/a&gt; - and this guy is actually right here, without any doubt: "&lt;em&gt;You can’t clean a compromised system by using some “vulnerability remover.”&lt;/em&gt;"&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p align="left"&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=351593" width="1" height="1"&gt;</description></item><item><title>SQL Server 2005 Express Edition - December Community Technology Preview </title><link>http://weblogs.asp.net/mschiffer/archive/2004/12/07/277904.aspx</link><pubDate>Tue, 07 Dec 2004 22:34:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:277904</guid><dc:creator>mschiffer</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschiffer/rsscomments.aspx?PostID=277904</wfw:commentRss><comments>http://weblogs.asp.net/mschiffer/archive/2004/12/07/277904.aspx#comments</comments><description>&lt;p&gt;The latest public build of the next version of the Microsoft Database Engine (MSDE), SQL Server's little brother, is now publicly available. Grab the 39MB "SQL Server 2005 Express"&amp;nbsp;preview &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=66120BE8-826A-482A-8264-B1836F28FD79"&gt;download here&lt;/a&gt;. Please do make sure to follow the installation instructions on the download page (scroll down)!&lt;/p&gt; &lt;p&gt;You might also be interested in getting to know Microsoft's "SQL Server 2005 Express Manager", which is a product aimed at simplifying database management by providing features to simplify, automate, and reduce the complexity of database support and administration. Naturally, it is very closely related to SQL Server 2005 Express. The product has its own preview available as a &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=8F92556A-6C3B-47D2-9929-ECDC5A4D25AE"&gt;download here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;As always, these preview software evaluation bits come without official support of any kind and no warranty is being made. Remember to run evaluation software on dedicated testing machines only.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=277904" width="1" height="1"&gt;</description></item><item><title>SQL Server 2005 Express Edition - Community Technology Preview</title><link>http://weblogs.asp.net/mschiffer/archive/2004/10/17/243545.aspx</link><pubDate>Sun, 17 Oct 2004 10:41:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:243545</guid><dc:creator>mschiffer</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschiffer/rsscomments.aspx?PostID=243545</wfw:commentRss><comments>http://weblogs.asp.net/mschiffer/archive/2004/10/17/243545.aspx#comments</comments><description>&lt;p&gt;Microsoft have released a new preview version of the upcoming SQL Server 2005 (codenamed "Yukon"), with the full product expected for the beginning of 2005.&lt;/p&gt; &lt;p&gt;The Express Edition of the product comes as a pure database engine, just like MSDE (MicroSoft Database Engine) came as a scaled down version of previous versions of SQL Server. Actually, SQL Server 2005 Express Edition&amp;nbsp;is the followup product to MSDE 2000.&lt;/p&gt; &lt;p&gt;This "Community Technology Preview" version shows you the latest incorporated technology only&amp;nbsp;-&amp;nbsp;it is&amp;nbsp;less stable even than a beta version (as it has undergone less testing prior to its release to the public). So install these preview bits on dedicated testing machines only. Also, take care to exactly follow the instructions on the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2f07d857-f917-47f5-a1d7-97963f13a7d8"&gt;download page&lt;/a&gt; for proper installation.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=243545" width="1" height="1"&gt;</description></item><item><title>Visual C++ 2005 Tools Refresh updates VC++ 2005 Beta 1</title><link>http://weblogs.asp.net/mschiffer/archive/2004/09/05/225793.aspx</link><pubDate>Sun, 05 Sep 2004 11:02:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:225793</guid><dc:creator>mschiffer</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschiffer/rsscomments.aspx?PostID=225793</wfw:commentRss><comments>http://weblogs.asp.net/mschiffer/archive/2004/09/05/225793.aspx#comments</comments><description>&lt;p&gt;The Visual C++ 2005 team has fixed some bugs and extended the functionality of their Beta 1 bits. This update&amp;nbsp;also works for the &lt;a href="http://lab.msdn.microsoft.com/express/visualc/default.aspx"&gt;VC++ 2005 Express Beta&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;The 36 MB download is available at &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=afd04ff1-9d16-439a-9a5e-e13eb0341923"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=afd04ff1-9d16-439a-9a5e-e13eb0341923&lt;/a&gt; &lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=225793" width="1" height="1"&gt;</description></item><item><title>Platform SDK for Windows XP Service Pack 2</title><link>http://weblogs.asp.net/mschiffer/archive/2004/09/03/224970.aspx</link><pubDate>Thu, 02 Sep 2004 23:14:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:224970</guid><dc:creator>mschiffer</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschiffer/rsscomments.aspx?PostID=224970</wfw:commentRss><comments>http://weblogs.asp.net/mschiffer/archive/2004/09/03/224970.aspx#comments</comments><description>Grab it at &lt;a href="http://www.microsoft.com/msdownload/platformsdk/sdkupdate/"&gt;http://www.microsoft.com/msdownload/platformsdk/sdkupdate/&lt;/a&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=224970" width="1" height="1"&gt;</description></item><item><title>Microsoft attacks iTunes</title><link>http://weblogs.asp.net/mschiffer/archive/2004/09/03/224950.aspx</link><pubDate>Thu, 02 Sep 2004 22:42:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:224950</guid><dc:creator>mschiffer</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschiffer/rsscomments.aspx?PostID=224950</wfw:commentRss><comments>http://weblogs.asp.net/mschiffer/archive/2004/09/03/224950.aspx#comments</comments><description>&lt;p&gt;Microsoft has made available a beta of their music shop at &lt;a href="http://beta.music.msn.com"&gt;http://beta.music.msn.com&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Unfortunately,&amp;nbsp;they do not actually offer the right to listen to the song you pay them for. Instead, you can only&amp;nbsp;pay them for the right to listen to a song from up to five computers and burn it on a&amp;nbsp;fragile CD for up to 7 times.&lt;/p&gt; &lt;p&gt;I can still play my first record, "Baby Jane" from Rod Stewart, which I bought 21 years ago and listened to from something like 8 record players since then. Within the last 21 years, I think I have copied that song to something like 15 tapes to listen to it. And I can still do that. Legally.&lt;/p&gt; &lt;p&gt;I'd pay more, but I&amp;nbsp;wouldn't pay for anything less.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=224950" width="1" height="1"&gt;</description></item><item><title>German Version of VS.NET 2003 / .NET Framework 1.1 Documentation is Online</title><link>http://weblogs.asp.net/mschiffer/archive/2004/07/26/197453.aspx</link><pubDate>Mon, 26 Jul 2004 20:04:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:197453</guid><dc:creator>mschiffer</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschiffer/rsscomments.aspx?PostID=197453</wfw:commentRss><comments>http://weblogs.asp.net/mschiffer/archive/2004/07/26/197453.aspx#comments</comments><description>&lt;p&gt;If you're after the &lt;img height="12" alt="German" src="http://www.aixsoft.de/images/German.gif" width="24" border="0" /&gt;&amp;nbsp;German language docs for Visual Studio 2003 and the respective Microsoft .NET Framework version 1.1, they're now online at&lt;/p&gt; &lt;p&gt;&lt;a href="http://msdn.microsoft.com/library/deu/"&gt;http://msdn.microsoft.com/library/deu/&lt;/a&gt;&lt;/p&gt; &lt;p&gt;German language documentation topics also include Visual SourceSafe 6.0, Microsoft Office XP Developer, Visual FoxPro and Technical Articles.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=197453" width="1" height="1"&gt;</description></item><item><title>PrintForm replacement for Visual Basic .NET</title><link>http://weblogs.asp.net/mschiffer/archive/2004/07/13/181111.aspx</link><pubDate>Mon, 12 Jul 2004 22:00:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:181111</guid><dc:creator>mschiffer</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschiffer/rsscomments.aspx?PostID=181111</wfw:commentRss><comments>http://weblogs.asp.net/mschiffer/archive/2004/07/13/181111.aspx#comments</comments><description>&lt;P&gt;In a recent one of my regular articles for &lt;A href="http://www.microsoft.com/germany/msdn"&gt;MSDN Germany&lt;/A&gt;, I came up with a PrintForm replacement (remember Visual Basic .NET, or rather Windows Forms,&amp;nbsp;does not offer this method and it was very, very limited in Visual Basic anyway - barely usable, to be honest).&lt;/P&gt;
&lt;P&gt;Although it's not a big deal after all, I've polished that code up a bit to include an option to either print only the client area of a form (as VB's PrintForm does) or the entire form (including its title bar and its borders). The latter works nicely only for regularly shaped forms&amp;nbsp;- anyway, I thought I'd share it with you.&lt;/P&gt;
&lt;P&gt;I tried to keep this one&amp;nbsp;nice and easy. If you'd like to improve it a bit, you might want to add the PrintDocument object via code instead of adding it as a control. And of course, you could make it more general by passing the form as a parameter instead of needing to put that code into the form module itself.&lt;/P&gt;
&lt;P&gt;As a sidenote, I reserve the right to update any code in my blog at any time and of course, usage is at your only risk.&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#008000&gt;&amp;nbsp;'&amp;nbsp;I&amp;nbsp;used&amp;nbsp;&lt;A href="http://www.vbcity.com/encoder/default.asp?lang=vb"&gt;http://www.vbcity.com/encoder/default.asp?lang=vb&lt;/A&gt;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#008000&gt;to&amp;nbsp;colorize&amp;nbsp;this&amp;nbsp;code.&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;Feel free to use any published results of my work in your&amp;nbsp;&lt;FONT color=#008000&gt;applications.&lt;BR&gt;&amp;nbsp;'&amp;nbsp;Refrain from stealing my work by republishing its results without my consent.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#008000&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;Imports&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;System.Drawing&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;...&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;Private&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;Const&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;SRCCOPY&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;As&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;Integer&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#804040&gt;=&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;&amp;amp;HCC0020&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;Private&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;Declare&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;Function&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;BitBlt&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;Lib&lt;/FONT&gt;&amp;nbsp;"gdi32.dll"&lt;FONT color=black&gt;&amp;nbsp;(&amp;nbsp;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;ByVal&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;hdcDest&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;As&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;IntPtr,&amp;nbsp;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;ByVal&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;x&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;As&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;Int32,&amp;nbsp;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;ByVal&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;y&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;As&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;Int32,&amp;nbsp;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;ByVal&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;Width&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;As&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;Int32,&amp;nbsp;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;ByVal&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;Height&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;As&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;Int32,&amp;nbsp;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;ByVal&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;hdcSrc&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;As&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;IntPtr,&amp;nbsp;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;ByVal&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;xSrc&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;As&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;Int32,&amp;nbsp;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;ByVal&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;ySrc&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;As&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;Int32,&amp;nbsp;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;ByVal&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;dwRop&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;As&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;Int32&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;FONT color=black&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;Boolean&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;Private&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;formImage&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;As&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;Bitmap&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;Public&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;Sub&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;PrintForm(&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Optional&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;ByVal&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;fullWindow&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;As&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;Boolean&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#804040&gt;=&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;False&lt;/FONT&gt;&lt;FONT color=black&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;Copyright &amp;#169; 2004 by Mathias Schiffer.&amp;nbsp;Leave this notice in place.&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;Copies&amp;nbsp;a&amp;nbsp;screenshot&amp;nbsp;of&amp;nbsp;the&amp;nbsp;form&amp;nbsp;this&amp;nbsp;code&amp;nbsp;is&amp;nbsp;being&amp;nbsp;run&amp;nbsp;in&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;to&amp;nbsp;the&amp;nbsp;active&amp;nbsp;printer.&amp;nbsp;Place&amp;nbsp;this&amp;nbsp;code&amp;nbsp;in&amp;nbsp;a&amp;nbsp;form&amp;nbsp;module.&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;Set&amp;nbsp;fullWindow&amp;nbsp;to&amp;nbsp;True&amp;nbsp;for&amp;nbsp;including&amp;nbsp;borders&amp;nbsp;and&amp;nbsp;titlebar.&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;Remember&amp;nbsp;to&amp;nbsp;use&amp;nbsp;an&amp;nbsp;Imports&amp;nbsp;reference&amp;nbsp;to&amp;nbsp;System.Drawing.&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;Also,&amp;nbsp;add&amp;nbsp;a&amp;nbsp;PrintDocument1&amp;nbsp;control&amp;nbsp;to&amp;nbsp;the&amp;nbsp;form&amp;nbsp;for&amp;nbsp;printing.&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;The&amp;nbsp;disadvantage&amp;nbsp;of&amp;nbsp;this&amp;nbsp;code&amp;nbsp;is&amp;nbsp;that&amp;nbsp;it&amp;nbsp;does&amp;nbsp;only&amp;nbsp;capture&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;those&amp;nbsp;parts&amp;nbsp;of&amp;nbsp;the&amp;nbsp;form&amp;nbsp;that&amp;nbsp;are&amp;nbsp;actually&amp;nbsp;visible&amp;nbsp;(screenshot),&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;i.e.&amp;nbsp;it&amp;nbsp;must&amp;nbsp;not&amp;nbsp;be&amp;nbsp;hidden&amp;nbsp;and&amp;nbsp;may&amp;nbsp;not&amp;nbsp;even&amp;nbsp;be&amp;nbsp;obscured.&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;VB's&amp;nbsp;PrintForm&amp;nbsp;method&amp;nbsp;does&amp;nbsp;not&amp;nbsp;require&amp;nbsp;that,&amp;nbsp;so&amp;nbsp;this&amp;nbsp;is&amp;nbsp;not&amp;nbsp;a&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;perfect&amp;nbsp;replacement.&amp;nbsp;Keep&amp;nbsp;that&amp;nbsp;in&amp;nbsp;mind.&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;With Me&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;This&amp;nbsp;can&amp;nbsp;easily&amp;nbsp;be&amp;nbsp;replaced&amp;nbsp;with&amp;nbsp;a&amp;nbsp;Form parameter&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;Create&amp;nbsp;a&amp;nbsp;Graphics object&amp;nbsp;for the&amp;nbsp;form&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;Dim&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;formGraphics&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;As&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;Graphics&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#804040&gt;=&lt;/FONT&gt;&lt;FONT color=black&gt;&amp;nbsp;.CreateGraphics&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;Create&amp;nbsp;a&amp;nbsp;compatible&amp;nbsp;bitmap&amp;nbsp;and&amp;nbsp;get&amp;nbsp;its&amp;nbsp;Graphics&amp;nbsp;object&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;If&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;fullWindow&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;Then&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=black&gt;formImage&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#804040&gt;=&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;New&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;Bitmap(.Width,&amp;nbsp;.Height,&amp;nbsp;formGraphics)&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;Else&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=black&gt;formImage&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#804040&gt;=&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;New&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;Bitmap(.ClientRectangle.Width,&amp;nbsp;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;FONT color=black&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ClientRectangle.Height,&amp;nbsp;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=black&gt;formGraphics)&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;End&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;If&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;Dim&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;memGraphics&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;As&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;Graphics&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#804040&gt;=&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;Graphics.FromImage(formImage)&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;Get&amp;nbsp;the&amp;nbsp;target&amp;nbsp;and&amp;nbsp;source&amp;nbsp;device&amp;nbsp;context&amp;nbsp;handles&amp;nbsp;(hDC)&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;Dim&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;sourceDC&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;As&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;IntPtr&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#804040&gt;=&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;formGraphics.GetHdc&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;Dim&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;targetDC&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;As&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;IntPtr&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#804040&gt;=&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;memGraphics.GetHdc&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;Do&amp;nbsp;the&amp;nbsp;screenshot&amp;nbsp;part&amp;nbsp;of&amp;nbsp;the&amp;nbsp;job&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;If&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;fullWindow&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;Then&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;Consider&amp;nbsp;the&amp;nbsp;border&amp;nbsp;width&amp;nbsp;and&amp;nbsp;the&amp;nbsp;titlebar&amp;nbsp;height&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;Dim&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;widthDelta&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;As&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;Integer&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#804040&gt;=&lt;/FONT&gt;&lt;FONT color=black&gt;&amp;nbsp;(.Width&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#804040&gt;-&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;FONT color=black&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ClientRectangle.Width)&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;Dim&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;heightDelta&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;As&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;Integer&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#804040&gt;=&lt;/FONT&gt;&lt;FONT color=black&gt;&amp;nbsp;(.Height&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#804040&gt;-&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;FONT color=black&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ClientRectangle.Height)&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;Copy&amp;nbsp;the&amp;nbsp;form&amp;nbsp;including&amp;nbsp;its&amp;nbsp;titlebar&amp;nbsp;and&amp;nbsp;borders&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=black&gt;BitBlt(targetDC,&amp;nbsp;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=black&gt;0,&amp;nbsp;0,&amp;nbsp;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;FONT color=black&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ClientRectangle.Width&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#804040&gt;+&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;widthDelta,&amp;nbsp;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;FONT color=black&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ClientRectangle.Height&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#804040&gt;+&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;heightDelta,&amp;nbsp;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=black&gt;sourceDC,&amp;nbsp;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=black&gt;0&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#804040&gt;-&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;widthDelta&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;\&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;2,&amp;nbsp;0&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#804040&gt;-&lt;/FONT&gt;&lt;FONT color=black&gt;&amp;nbsp;(heightDelta&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#804040&gt;-&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;widthDelta&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;\&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;2),&amp;nbsp;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=black&gt;SRCCOPY)&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;Else&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;Copy&amp;nbsp;the&amp;nbsp;form's&amp;nbsp;client&amp;nbsp;area&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=black&gt;BitBlt(targetDC,&amp;nbsp;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=black&gt;0,&amp;nbsp;0,&amp;nbsp;.ClientRectangle.Width,&amp;nbsp;.ClientRectangle.Height,&amp;nbsp;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=black&gt;sourceDC,&amp;nbsp;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;FONT color=black&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ClientRectangle.X,&amp;nbsp;.ClientRectangle.Y,&amp;nbsp;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;FONT color=black&gt;SRCCOPY)&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;End&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;If&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;Release&amp;nbsp;DCs&amp;nbsp;and&amp;nbsp;dispose objects&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=black&gt;formGraphics.ReleaseHdc(sourceDC)&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=black&gt;formGraphics.Dispose()&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=black&gt;memGraphics.ReleaseHdc(targetDC)&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=black&gt;memGraphics.Dispose()&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;formImage&amp;nbsp;now&amp;nbsp;has&amp;nbsp;the&amp;nbsp;form's&amp;nbsp;image.&amp;nbsp;Print&amp;nbsp;it&amp;nbsp;before&amp;nbsp;disposing&amp;nbsp;it.&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=black&gt;PrintDocument1.Print()&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#008000&gt;'&amp;nbsp;Invokes&amp;nbsp;PrintDocument1_PrintPage&amp;nbsp;(below)&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;Finally&amp;nbsp;dispose&amp;nbsp;the&amp;nbsp;image&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=black&gt;formGraphics.Dispose()&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;End&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;With&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;End&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;Sub&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;Private&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;Sub&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;PrintDocument1_PrintPage(&amp;nbsp;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;ByVal&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;sender&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;As&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;System.Object,&amp;nbsp;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;ByVal&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;e&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;As&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;System.Drawing.Printing.PrintPageEventArgs&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;_&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;FONT color=black&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;Handles&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=black&gt;PrintDocument1.PrintPage&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;Print&amp;nbsp;the&amp;nbsp;screen&amp;nbsp;shot&amp;nbsp;in&amp;nbsp;formImage.&amp;nbsp;Use&amp;nbsp;DrawImage's&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#008000&gt;'&amp;nbsp;parameters&amp;nbsp;to&amp;nbsp;control&amp;nbsp;the&amp;nbsp;position&amp;nbsp;of&amp;nbsp;the&amp;nbsp;printer&amp;nbsp;output.&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=black&gt;e.Graphics.DrawImage(formImage,&amp;nbsp;100,&amp;nbsp;200)&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#008000&gt;'&amp;nbsp;printing&amp;nbsp;position&amp;nbsp;x=100,&amp;nbsp;y=200&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;End&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;Sub&lt;/FONT&gt;&lt;!-- END                                   http://www.vbcity.com/encoder --&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=181111" width="1" height="1"&gt;</description></item><item><title>Visual Studio 2005 Beta Documentation Library available on the Web</title><link>http://weblogs.asp.net/mschiffer/archive/2004/07/10/179434.aspx</link><pubDate>Sat, 10 Jul 2004 15:09:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:179434</guid><dc:creator>mschiffer</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/mschiffer/rsscomments.aspx?PostID=179434</wfw:commentRss><comments>http://weblogs.asp.net/mschiffer/archive/2004/07/10/179434.aspx#comments</comments><description>&lt;P&gt;The documentation for &lt;A href="http://lab.msdn.microsoft.com/vs2005/"&gt;Visual Studio 2005 BETA&lt;/A&gt; bits is available at &lt;A href="http://lab.msdn.microsoft.com/library/"&gt;http://lab.msdn.microsoft.com/library/&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;This should be an interesting URL for anyone who cannot or does not want to, at this point in time, install the beta bits on their machines but still would like to have access to reference type material for the upcoming features of the next version of Visual Studio .NET and the .NET Framework 2.0.&lt;/P&gt;
&lt;P&gt;For offline viewing, you might also be interested in downloading the MSDN documentation for the &lt;A href="http://lab.msdn.microsoft.com/express/"&gt;Visual Studio 2005 &lt;EM&gt;Express&lt;/EM&gt;&lt;/A&gt; products. It's publicly available as a 162 MB file download at &lt;A href="http://download.microsoft.com/download/d/5/f/d5fbf037-59b9-4906-b20b-de5dd544de12/msdnixp.exe"&gt;http://download.microsoft.com/download/d/5/f/d5fbf037-59b9-4906-b20b-de5dd544de12/msdnixp.exe&lt;/A&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=179434" width="1" height="1"&gt;</description></item></channel></rss>