I added a new FAQ item on how to programmatically reboot a Pocket PC device on http://www.cjcraft.com/.
using System.Runtime.InteropServices;
[DllImport("CoreDll.dll", SetLastError=true, CharSet=CharSet.Auto)]
internal static extern bool KernelIoControl(int dwIoControlCode,
IntPtr lpInBuf, int nInBufSize, IntPtr lpOutBuf, int nOutBufSize, IntPtr
lpBytesReturned);
public bool DeviceReset()
{
return KernelIoControl(16842812,IntPtr.Zero,0,IntPtr.Zero,0,IntPtr.Zero);
}