Archive for September, 2006

How to Prevent System Tray Icons From Disappearing

Friday, September 22nd, 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:

UINT wmTaskbarCreated = RegisterWindowMessage(_T("TaskbarCreated"));

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.

Hamster Hurt

Friday, September 22nd, 2006

Richard Hammond from TopGear has crashed a jet-powered car at 300mph.

We’re Two Years Old

Thursday, September 21st, 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 Day

Tuesday, September 19th, 2006

Yarr! It’s not such a good day for some Pirates though.

Otaku In Japan

Tuesday, September 19th, 2006

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.

Yokohama harbour as seen from a ferry, with the Landmark Tower on the right.

Nihon Maru Park, Yokohama.

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.

Yokohama harbour at night, with the Landmark Tower on the left and the ferris wheel in the middle.

Chinatown gate, Yokohama.

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 Downloads

Monday, September 11th, 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:

  • A customer entered their email address on our Support page.
  • A new software download link was sent to their email address.
  • The download link took the customer to a download page.
  • The customer entered their email address into a form on the page then clicked the “Download” button.
  • Their software started downloading.

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:

  • The customer enters their email address and order reference number into a form on the Help page then clicks the “Download” button.
  • Their software starts downloading.

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.