Ok, now I'm using this function:
void run( LPCTSTR cmd, LPCTSTR dir)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
memset(&si, 0, sizeof(si));
memset(&pi, 0, sizeof(pi));
si.dwFlags = STARTF_USESHOWWINDOW ;
si.wShowWindow = SW_SHOW;
TCHAR buffer[ MAX_PATH + 1];
memset( buffer, 0...