基本代码如下:
cmdline = "java Main"void CreateProcess(_TCHAR *cmdline)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&pi, sizeof(pi));
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
if (!CreateProcess( NULL, cmdline,NULL, NULL, false, DEBUG_PROCESS | CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi))
{
_ftprintf(stderr,_T("err : %d\n"),GetLastError());
}
}Main.java里就是输出一个hello world,可以这样调用好像不行。请大家帮忙。
cmdline = "java Main"void CreateProcess(_TCHAR *cmdline)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&pi, sizeof(pi));
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
if (!CreateProcess( NULL, cmdline,NULL, NULL, false, DEBUG_PROCESS | CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi))
{
_ftprintf(stderr,_T("err : %d\n"),GetLastError());
}
}Main.java里就是输出一个hello world,可以这样调用好像不行。请大家帮忙。
BOOL bResult = FALSE;
CString strcmd = "\"";
strcmd += CUtility::GetInstance().GetBasePath() + "IBSservice.exe\" ";
strcmd += "-protect"; SECURITY_ATTRIBUTES sa;
// HANDLE hRead,hWrite; sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.lpSecurityDescriptor = NULL;
sa.bInheritHandle = TRUE; STARTUPINFO si;
PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) ); // Start the child process.
if( CreateProcess( NULL, // No module name (use command line).
(char*)(LPCTSTR)strcmd, // Command line.
NULL, // Process handle not inheritable.
NULL, // Thread handle not inheritable.
FALSE, // Set handle inheritance to FALSE.
CREATE_NO_WINDOW|NORMAL_PRIORITY_CLASS, // creation flags.
NULL, // Use parent's environment block.
NULL, // Use parent's starting directory.
&si, // Pointer to STARTUPINFO structure.
&pi ) // Pointer to PROCESS_INFORMATION structure.
)
{
// Wait until child process exits.
//WaitForSingleObject( pi.hProcess, INFINITE );
// Close process and thread handles.
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
bResult = TRUE;
}