Scott Hanselman

How to make Vista Taskbar Previews and ALT-TAB Thumbnails Bigger

December 18, 2007 Comment on this post [5] Posted in Musings | Tools
Sponsored By

As monitor resolutions get higher and higher I wish I could scale certain things in Vista more and more. I run with Large Icons, but I still have to look at tiny ALT-TAB Preview Windows and tiny Taskbar Previews.

Turns out both these problems have been solved. One with a registry key, and one with a deliciously evil (in a good way) hack.

How to make ALT-TAB Thumbnails Bigger

Jeff solved this one for me with this registry file. Save it to a .reg file and run as Administrator:

Windows Registry Editor Version 5.00[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AltTab]
"OverlayIconPx"=dword:00000023
"OverlayIconDXPx"=dword:00000000
"OverlayIconDYPx"=dword:00000000
"ThumbSpacingXPx"=dword:00000004
"ThumbSpacingYPx"=dword:00000004
"SideMarginPx"=dword:00000004
"BottomMarginPx"=dword:0000000a
"MinThumbSizePcent"=dword:00000064
"MinWidthPx"=dword:0000012c
"TopMarginPx"=dword:00000020
"MaxThumbSizePx"=dword:000000dc
"MaxIconSizePx"=dword:0000015e
"TextBottomPx"=dword:000001f4

I've also tightened up the borders and margins a bit, to make room for larger thumbnails. However, before importing this into your registry you must edit the MaxThumbSizePx to a size that works on your monitor first! The current value, above, is DC hex or 220 decimal, which works on my 1600 x 1200 primary monitor. The maximum row size is 7, so each row is 7 x 220 = 1540, right under the 1600 width.

Stunning. Thanks. That's Problem #1.

How to make Taskbar Thumbnail Previews Bigger

Unfortunately it seems that Explorer has hardcoded the Taskbar Preview Thumbnail size, but you can use Andreas Verhoeven's Thumbnail Sizer to change the internal value at runtime by loading his DLL into Explorer where he will overwrite that spot in memory. I didn't say it wouldn't hurt, but it works great on my machine and he has both 32-bit and 64-bit versions.

He also includes source, but if you want to build it on Visual Studio 2005 or 2008 you'll need to download WTL 8.0 (his app is in C++) and change both the include paths and the resource include paths. Also note he's hardcoded the output path for the app if you find yourself hunting for it. Of course, you can always just go to his site and download the binaries. Click on the picture of each app for the associated zip. Also note his PayPal Donation button at the top of his page if you like his stuff!

Here's a taste of his very simple source. Ah, the good old days. Of course, the magic here is the value of THUMBNAIL_MAX_CX_OFFSET that I'm sure took a long while to find.

// sets the maximum thumbnail size.
BOOL CThumbnailSizer::putThumbnailSizes(DWORD maxCX, DWORD maxCY)

{     // idem as getThumbnailSizes(), but for writing the size instead     // of reading.

    HWND hwnd = getTaskBandHandle();     if(NULL == hwnd)
        return FALSE;

    BYTE* data = (BYTE*)GetWindowLong(hwnd, 0);
    if(NULL == data)
        return FALSE;

    DWORD dwPid = -1;
    GetWindowThreadProcessId(hwnd, &dwPid);
    if(dwPid <= 0)
        return FALSE;

    HANDLE hProc = OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_WRITE, NULL, dwPid);
    if(NULL == hProc)
        return FALSE;

    SIZE_T numWritten=0;
    WriteProcessMemory(hProc, data + THUMBNAIL_MAX_CX_OFFSET, &maxCX, sizeof(DWORD), &numWritten);
    WriteProcessMemory(hProc, data + THUMBNAIL_MAX_CY_OFFSET, &maxCY, sizeof(DWORD), &numWritten);

    CloseHandle(hProc);

    return TRUE;
}

Fabulous. Problem #2 solved. By the way, while you're over there, pick up his 3D User Picture applet - it almost needs to be seen to be believed. Brilliant.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Hanselminutes Podcast 92 - Visual Basic Yesterday, Today and Tomorrow with Paul Vick

December 15, 2007 Comment on this post [5] Posted in ASP.NET | Learning .NET | Microsoft | Podcast | Programming | VB
Sponsored By

Vb_dot_net My ninety-second podcast is up. In this episode, I chat with Paul Vick, Principal VB Architect, and Paul Yuknewicz, a Senior Program Manager on the VB Team about the past, present and future of Visual Basic.

Subscribe: Subscribe to Hanselminutes Subscribe to my Podcast in iTunes

If you have trouble downloading, or your download is slow, do try the torrent with µtorrent or another BitTorrent Downloader.

Do also remember the complete archives are always up and they have PDF Transcripts, a little known feature that show up a few weeks after each show.

Telerik is our sponsor for this show.

Check out their UI Suite of controls for ASP.NET. It's very hardcore stuff. One of the things I appreciate about Telerik is their commitment to completeness. For example, they have a page about their Right-to-Left support while some vendors have zero support, or don't bother testing. They also are committed to XHTML compliance and publish their roadmap. It's nice when your controls vendor is very transparent.

As I've said before this show comes to you with the audio expertise and stewardship of Carl Franklin. The name comes from Travis Illig, but the goal of the show is simple. Avoid wasting the listener's time. (and make the commute less boring)

Enjoy. Who knows what'll happen in the next show?

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Small Town Internet

December 14, 2007 Comment on this post [20] Posted in Musings
Sponsored By

iStock_000002858133XSmall Story #1

My wife LOVES Lido Cookies from Pepperidge farm. However, I've clearly stepped into a cookie conspiracy. If you Google for Lido Cookies you get this link, which is dead. How dead? Like the Yellow Screen of Death + Call Stack = Tacky level of dead.

Anyway, she loves them so much she sometimes buys the big mixed box of cookies just to get the three Lido cookies. That's like $2 a cookie as I see it. It's a rare thing, but a pregnant or nursing woman wants her things just so, right?

Thus began the nationwide search for the last few bags of Lido Cookies. No problem, right? I figured I'd just Google for them and I'd be on my way. Couldn't find them for weeks. Searched everywhere, called stores, etc. Apparently they are discontinued. I should start a petition.

Then I found this fun little company, Hometown Treats. Basically it's a whole business based around getting folks their favorite local snacks if they've moved away from their hometown. Amazing and only on the Internet.

The young lady who runs the place, Shona, found three bags of Lido Cookies and FedEx'd them to us here in Oregon. The wife was thrilled and the WAF (Wife Acceptance Factor) was high. This happened yesterday.

Story #2

Today, we set out to buy a tandem stroller (pram) for the boys, and we did our research and decided on a Joovy brand double stroller. So, we were sitting in the parking lot of a sandwich place and I figured I should call ahead to make sure the store we were heading towards had them in stock.

I bust out the WM SmartPhone, open up Google Maps, get the number for Babies R Us and call. They didn't carry the one I wanted. Crap. I hit the browser, open Joovy's website and see their number. The whole thing could have been an advertisement for the mobile web.

I call the toll free number listed on their website (on every page, no less, and no "contact us" button. How revolutionary! ;) ) and the phone rings. I get an actual HUMAN on the first ring. Magical. I ask her where I can find her products in Oregon. She says, you know, you should just call StrollerDepot because they have free shipping. (Here comes the best part.) "Ask for Mary, and tell her Brenda says Hi."

I thank her and point the browser at StrollerDepot. The actually have their phone number and hours of operations on top of the home page. Thrilling! I call and get a person on the first ring. "Um, may I speak to Mary?" "This is Mary?" What? Is this Internet a Small Town? "Hi! Brenda at Joovy said I should call..." "Oh, Brenda, we LOVE Brenda." ....blah blah blah...we bought the stroller, free shipping, and it comes on Tuesday.

So?

Why mention this on my blog? Because just when I'm convinced the Internet is a giant conglomeration of nameless faceless corporate automatons (of which I'm clearly one), I get to interact with a real person running a Small Town Boutique Company that does one thing and does it brilliantly. And I talk not just a regular real person, but one who is an expert in their field, be that cookies or strollers.

At this point I feel connected and contented and happy to be on the web. Long live Small Town Internet.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Community is not just Cold Pizza

December 14, 2007 Comment on this post [20] Posted in Musings
Sponsored By

Man Eating Pepperoni PizzaUPDATE: I've removed some negative quotes that I felt overshadowed the goal of this post. It's meant to be about successful community events in general. 

Cold Pizza is not a good way to create community. We had a KILLER time in Portland at our InstallFest. Our DE, Jason Mauer, and the crew at PADNUG had 250 people show up - our largest crowd in PADNUG history, I think, and did many things right:

  • Keep it Different with More than Cold Pizza: You can often get nicer food than pizza by having a locally owned business (not franchise) cater, We had Pasta Pronto come by and setup a buffet. A few months back we had Chef Randy from the Fresh Thyme Soup Co. We partnered with Cinetopia for the Diabetes Fundraiser. This is a great way for nerds to give back to their local community.
  • Keep it Fast with Micro-Presentations - Jason and Rich called a pile of local nerds and said "come and give a 5-10 minute talk on VS2008." These "groktalks" are low effort, high-return and high-energy.
  • Keep it Clear with Multiple Projectors - Everyone's got a projector at their company that they could check-out one evening and borrow. Local community events should never want for projectors. Engage with everyone and don't be afraid to ask the group for help. PADNUG had the event at Corillian and had three projectors going so everyone could see.
  • Keep it Fresh - Bring in guests. I try not to present too much locally because folks get tired of hearing me jabber on! Rich and Jason brought Charlie Calvert to talk about C#!
  • Keep It Interactive - Local Community events should never be "push content into their brains." Everyone's got a wide variety of experience and thoughtful heckling (thanks Chris Sells for heckling me and keeping me on track, considering that I was presenting on 2 hours sleep!) is part of the camaraderie that makes technical communities engaging.

The InstallFests in the US are usually being run by your local Developer Evangelist or .NET User Group. Call him or her and ask how you can help make local events better! If you have an InstallFest coming up in your area, how can you make Stone Soup out of your event?

Talk to your local evangelist and see what can be done to fire up future events.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Your Opinion Matters - Screencast Techniques Survey

December 13, 2007 Comment on this post [33] Posted in ASP.NET | Microsoft | Musings
Sponsored By

iStock_000004645314XSmall Hi Dear Reader, I'd like you to SOUND OFF.

As you may know, part of my job at Microsoft will be creating technical screencasts, like the IIS FastCGI one and the MVC Intro.

A lot of really smart people and co-workers have created a lot of screencasts and my probing is not meant to diminish anything that they've done. However, I see a lot of screencasts that are fairly static, recorded with fairly low-quality audio and I have a postulate that some post-production and a few dozen techniques with some preparation can turn a good screencast into a great one.

Next year I plan to do lots of these, so I've been practicing. I've watch lots of screencasts and decided that panning, zooming and PIP - when used appropriately - enhance the experience. Of course, it takes an order of magnitude more work to pull off.

That said, I'd like to collect some data about your opinion on the matter. Before I go singing the praises of pans and zooms and talking heads, I'd like to get some actual data.

Do me a favor and please answer this SHORT 8-question Survey on Technical Screencast Techniques. It'll take literally 1 minute of your time. Your answer is anonymous, and your IP address will NOT be collected. I'll share the results in a few weeks.

There are at least 22,000 of you subscribed, so I'd love to get at least 1000 responses. Please do forward this survey to your technical friends, family and neighbors.

Thanks folks, I appreciate your time.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.