How to Prevent System Tray Icons From DisappearingSeptember 22, 2006
When you’re a programmer, it seems like you learn something new every day. One of the things I’ve been working on in the next version of TopDesk is making it survive Explorer crashes. TopDesk has quite a few hooks into explorer.exe, so when Explorer goes down, TopDesk goes with it. After banging my head against the wall several times I managed to fix the problem, but I noticed that even with the fix in place the TopDesk system tray (sorry, taskbar notification area) icon failed to re-appear when Explorer came back to life. What’s happening is that when Explorer crashes, the taskbar notification area crashes too, forgetting any icons it had. When Explorer starts back up, it re-creates the taskbar notification area and sends out a registered window message called (strangely enough) TaskbarCreated to all top-level windows. It’s up to an application to check for this message and re-initialize any taskbar notification area icons it has. Here’s how you do it in C/C++: 1. Register your application so it can receive TaskbarCreated messages:
2. Handle the message in your window procedure:
LRESULT CALLBACK WindowProcedure(HWND hWnd, UINT nMessage, WPARAM wParam, LPARAM lParam)
{
switch(nMessage)
{
default:
{
if(nMessage == wmTaskbarCreated)
{
// Call your system tray icon initialization function/method here
}
}
break;
}
return DefWindowProc(hWnd, uMessage, wParam, lParam);
}
For those of you interested, the MSDN documentation on the TaskbarCreated registered message is hidden away here. Filed under: Development — James Stewart — September 22, 2006 @ 8:14 pm — permalinkHamster Hurt
Richard Hammond from TopGear has crashed a jet-powered car at 300mph. We’re Two Years OldSeptember 21, 2006
Otaku Software was founded two years ago this week. How time flies, it doesn’t seem all that long ago that TopDesk v1.0 was released. Growing the company has been a great experience; it’s been fantastic to watch the user base grow and grow and to see more and more people championing our products and recommending them to friends. While the past two years have been a blast, the next few months look like they’re going to be even better, with not only the release of new versions of TopDesk and BoxingClever, but the launch of a few new as-yet unannounced products. Stay tuned… International Talk Like A Pirate DaySeptember 19, 2006
Otaku In Japan
On my recent visit to Japan I went on a day trip to Yokohama, home of the tallest building in Japan, the Landmark Tower. Like Tokyo, Yokohama is an amazing place, but it’s surprisingly different. Here are a few pictures from the trip:
Yokohama harbour as seen from a ferry, with the Landmark Tower on the right.
Nihon Maru Park, as seen from a ferris wheel. The ship is a replica of the one the first foreign ships to arrive in Yokohama.
Yokohama harbour at night, with the Landmark Tower on the left and the ferris wheel in the middle.
The entrance to Yokohama Chinatown. Chinatown was the highlight of the day trip; I’ve never seen so many restaurants in the one place… Software DownloadsSeptember 11, 2006
We’ve changed the way customers download software they’ve bought to make the process faster and easier to use. The old download process had a number of steps:
Apart from requiring customers to jump through a few too many hoops, there were a couple of issues with this system. Firstly, a small number of customers with very agressive spam-filters couldn’t receive the download link email (or it ended up in their junk email folder, which for most people is the same as not receiving it). Some email applications also split the download link itself into multiple lines, which meant that users who clicked directly on the link got an error message instead of their software. Finally, customers sometimes changed email addresses, which meant they had to go through the extra step of asking us to change their details before they could get their software. The new download process has been significantly streamlined:
You may have also noticed a couple of changes to the Otaku Software website, particularly the Help/Support section. I’ll be talking about these modifications and the reasons behind them in a future blog post. Filed under: Online Store — James Stewart — September 11, 2006 @ 7:22 am — permalink |