STARTUPINFO StartupInfo; 
PROCESS_INFORMATION ProcessInfo; int  error; StartupInfo.cb =sizeof(STARTUPINFO);  
GetStartupInfo(&StartupInfo); StartupInfo.dwFlags =STARTF_USESHOWWINDOW;  
StartupInfo.wShowWindow =SW_HIDE;  TCHAR szAppName[_MAX_PATH] = TEXT("AutoOpenUrl.exe"); error=GetLastError();  
if(!CreateProcess(szAppName,NULL,(LPSECURITY_ATTRIBUTES)NULL,  
(LPSECURITY_ATTRIBUTES)NULL,FALSE,  0  ,  
(LPVOID)NULL,(LPTSTR)NULL,&StartupInfo,&ProcessInfo))  
{  
switch(error=GetLastError())  
{  
case  ERROR_FILE_NOT_FOUND:  
AfxMessageBox("未找到程序文件."); 
break;  
case  ERROR_ACCESS_DENIED:  
AfxMessageBox("程序文件不可访问."); 
break;  
case  ERROR_FILE_INVALID: 
AfxMessageBox("Invalid file."); 
break;  
case  ERROR_FILE_CORRUPT:  
AfxMessageBox("The file is corrupt."); 
break;  
case  ERROR_BAD_EXE_FORMAT:  
AfxMessageBox("The file has a bad format."); 
break;  
default:  
AfxMessageBox("CreateProcess()  失败."); 
break;  
}    
}else  
{  

WaitForInputIdle(ProcessInfo.hProcess, INFINITE); 
SetForegroundWindow(); 
CloseHandle(ProcessInfo.hThread);  
CloseHandle(ProcessInfo.hProcess);