Hello,
I create a socket in my application and i wait for a connection.
When a client application connect to my application, i creat a new process
with redirecting my socket to STDIN and STDOUT.
The child's process STDIN and STDOUT are not correct.
Here's my code :
childsocket = accept( listener,(struct sockaddr FAR *) &acc_sin,
(int FAR *) &acc_sin_len );
HANDLE hSaveStdin = GetStdHandle( STD_INPUT_HANDLE );
if ( !SetStdHandle( STD_INPUT_HANDLE, (HANDLE)childsocket ) )
{
ERROR
}
HANDLE hSaveStdout = GetStdHandle( STD_OUTPUT_HANDLE );
if ( !SetStdHandle( STD_OUTPUT_HANDLE, (HANDLE)childsocket ) )
{
ERROR
}
PROCESS_INFORMATION piProcInfo;
STARTUPINFO siStartInfo;
ZeroMemory( &siStartInfo, sizeof(STARTUPINFO) );
siStartInfo.cb = sizeof(STARTUPINFO);
if ( !CreateProcess( szApplication,
szArgs,
NULL,
NULL,
TRUE,
0,
NULL,
NULL,
&siStartInfo,
&piProcInfo ) )
{
ERROR
}
SetStdHandle( STD_INPUT_HANDLE, hSaveStdin );
SetStdHandle( STD_OUTPUT_HANDLE, hSaveStdout );
Can i have some help ?
Thanks.