Change default boot before restart.


I multiboot between XP and Win7.
The ability to multiboot is really nice, but it has a small problem: I can only choose the OS during the boot up.
My default OS is W7, but often I want to change to XP. To do this, I have to reboot from W7 and wait about 20 seconds for the boot menu to show up and choose XP. This is extremely annoying as it ties me to the PC during the boot sequence and sometimes I just go do something else to only find that W7 (as being default) is booting again.

So, my idea is to have a mode/button that allows me to reboot and boot on a different OS.
I'm here to ask for your help with this.
Maybe the best way, is to set a shortcut in each OS that changes the default boot and then restarts the pc.

On W7 it would read something like:
bcdedit /default {ntldr}
shutdown -r -t 5 -c "Rebooting computer"

For XP to W7 a similar code would be used but bcdedit would set Windows7 boot as default
(what is the string for that?)

Is this the best approach or I'm trying to reinvent the wheel?
Just installed it and tried it.

Pretty cool! I got a bit scared as it didn't show the boot menu but I can still access it if I choose a normal reboot.

One question: On my XP install I didn't check "Run at Startup" (I try to keep those to the minimum). Is there a way to change this setting without having to install it again?
Or maybe a command line option so that I can reboot with one click...
It has to start up its service (the thing that makes it UAC free) and so its available from the tray. Its not very resource intensive so that shouldn't be concern.