你的console程序返回值是0么?
試試下面的代碼
BOOL NewProcess( LPTSTR lpszFileName, LPTSTR lpszTitle )
{
static STARTUPINFO StartupInfo;
static LPSTARTUPINFO lpStartupInfo = &StartupInfo;
static PROCESS_INFORMATION ProcessInfo;
static LPPROCESS_INFORMATION lpProcessInfo = &ProcessInfo; lpStartupInfo->cb = sizeof( STARTUPINFO );
lpStartupInfo->lpDesktop = NULL;
lpStartupInfo->lpTitle = lpszTitle;
lpStartupInfo->dwX = 0;
lpStartupInfo->dwY = 0;
lpStartupInfo->dwXSize = 0;
lpStartupInfo->dwYSize = 0;
lpStartupInfo->dwFlags = (DWORD) NULL;
lpStartupInfo->wShowWindow = SW_HIDE; lpProcessInfo->hProcess = NULL; if( !CreateProcess(
NULL,
lpszFileName,
(LPSECURITY_ATTRIBUTES) NULL,
(LPSECURITY_ATTRIBUTES) NULL,
TRUE,
CREATE_NEW_CONSOLE,
(LPVOID) NULL,
(LPTSTR) NULL,
lpStartupInfo, lpProcessInfo ) ) { switch( GetLastError() ) { case ERROR_FILE_NOT_FOUND:
MessageBox( GetDesktopWindow(), TEXT( "This file does not exist." ),
TEXT( "Open File Error" ), MB_OK | MB_APPLMODAL | MB_SETFOREGROUND );
break;
case ERROR_ACCESS_DENIED:
MessageBox( GetDesktopWindow(), TEXT( "Access denied." ),
TEXT( "Open File Error" ), MB_OK | MB_APPLMODAL | MB_SETFOREGROUND );
break;
case ERROR_FILE_INVALID:
MessageBox( GetDesktopWindow(), TEXT( "Invalid file." ),
TEXT( "Open File Error" ), MB_OK | MB_APPLMODAL | MB_SETFOREGROUND );
break;
case ERROR_FILE_CORRUPT:
MessageBox( GetDesktopWindow(), TEXT( "The file is corrupt." ),
TEXT( "Open File Error" ), MB_OK | MB_APPLMODAL | MB_SETFOREGROUND );
break;
case ERROR_BAD_EXE_FORMAT:
MessageBox( GetDesktopWindow(), TEXT( "The file has a bad format." ),
TEXT( "Open File Error" ), MB_OK | MB_APPLMODAL | MB_SETFOREGROUND );
break;
default:
MessageBox( GetDesktopWindow(), TEXT( "CreateProcess()" ),
TEXT( "Create process error!" ), MB_OK | MB_APPLMODAL | MB_SETFOREGROUND );
break; }
return( FALSE ); }
else {
CloseHandle( ProcessInfo.hProcess );
CloseHandle( ProcessInfo.hThread );
} return( TRUE );
}
試試下面的代碼
BOOL NewProcess( LPTSTR lpszFileName, LPTSTR lpszTitle )
{
static STARTUPINFO StartupInfo;
static LPSTARTUPINFO lpStartupInfo = &StartupInfo;
static PROCESS_INFORMATION ProcessInfo;
static LPPROCESS_INFORMATION lpProcessInfo = &ProcessInfo; lpStartupInfo->cb = sizeof( STARTUPINFO );
lpStartupInfo->lpDesktop = NULL;
lpStartupInfo->lpTitle = lpszTitle;
lpStartupInfo->dwX = 0;
lpStartupInfo->dwY = 0;
lpStartupInfo->dwXSize = 0;
lpStartupInfo->dwYSize = 0;
lpStartupInfo->dwFlags = (DWORD) NULL;
lpStartupInfo->wShowWindow = SW_HIDE; lpProcessInfo->hProcess = NULL; if( !CreateProcess(
NULL,
lpszFileName,
(LPSECURITY_ATTRIBUTES) NULL,
(LPSECURITY_ATTRIBUTES) NULL,
TRUE,
CREATE_NEW_CONSOLE,
(LPVOID) NULL,
(LPTSTR) NULL,
lpStartupInfo, lpProcessInfo ) ) { switch( GetLastError() ) { case ERROR_FILE_NOT_FOUND:
MessageBox( GetDesktopWindow(), TEXT( "This file does not exist." ),
TEXT( "Open File Error" ), MB_OK | MB_APPLMODAL | MB_SETFOREGROUND );
break;
case ERROR_ACCESS_DENIED:
MessageBox( GetDesktopWindow(), TEXT( "Access denied." ),
TEXT( "Open File Error" ), MB_OK | MB_APPLMODAL | MB_SETFOREGROUND );
break;
case ERROR_FILE_INVALID:
MessageBox( GetDesktopWindow(), TEXT( "Invalid file." ),
TEXT( "Open File Error" ), MB_OK | MB_APPLMODAL | MB_SETFOREGROUND );
break;
case ERROR_FILE_CORRUPT:
MessageBox( GetDesktopWindow(), TEXT( "The file is corrupt." ),
TEXT( "Open File Error" ), MB_OK | MB_APPLMODAL | MB_SETFOREGROUND );
break;
case ERROR_BAD_EXE_FORMAT:
MessageBox( GetDesktopWindow(), TEXT( "The file has a bad format." ),
TEXT( "Open File Error" ), MB_OK | MB_APPLMODAL | MB_SETFOREGROUND );
break;
default:
MessageBox( GetDesktopWindow(), TEXT( "CreateProcess()" ),
TEXT( "Create process error!" ), MB_OK | MB_APPLMODAL | MB_SETFOREGROUND );
break; }
return( FALSE ); }
else {
CloseHandle( ProcessInfo.hProcess );
CloseHandle( ProcessInfo.hThread );
} return( TRUE );
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货