分类: Windows平台
2013-03-27 16:50:57
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
PROCESS_INFORMATION processinfo;
WIN32_FIND_DATA fd;
HANDLE hd=INVALID_HANDLE_VALUE;
lpCmdLine =_T(" Card\\ShipNavigation\\ShipNavigation.exe");//根据相应要启动的程序修改此路径
int iCount = 20;//这个值要设得足够大,否则可能等不到SD卡的加载
//等待SD卡文件系统加载完成
while(iCount--)
{
hd=::FindFirstFile(lpCmdLine,&fd);
Sleep(500);
if(INVALID_HANDLE_VALUE!=hd) break;
}
if(0==iCount)
{
CreateProcess(L");
return 0;
}
FindClose(hd);
SHELLEXECUTEINFO ShExeInfo={0};
ShExeInfo.cbSize=sizeof(SHELLEXECUTEINFO);
ShExeInfo.fMask=SEE_MASK_NOCLOSEPROCESS;
ShExeInfo.hwnd=NULL;
ShExeInfo.lpVerb=NULL;
ShExeInfo.lpFile=lpCmdLine;
ShExeInfo.lpParameters=L"";
ShExeInfo.lpDirectory=NULL;
ShExeInfo.nShow=SW_SHOW;
ShExeInfo.hInstApp=NULL;
ShellExecuteEx(&ShExeInfo);
return 0;
}
我在这次测试中发现只有在platform.reg中加入
[HKEY_LOCAL_MACHINE\init]
"Launch80"="autoRun.exe"
"Depend80"=hex:1e,00
重现 Make Image 才能正确启动。网上说通过快捷方式也可启动我一直没成功。