Logo

¡Bienvenido a Stratos!

Acceder

Foros



Como Ejecutar Un Programa No Windows

Iniciado por josette, 07 de Abril de 2006, 10:34:15 AM

« anterior - próximo »

josette

    Estoy haciendo una aplicación y necesito llamar a un pequeño programa en modo DOS. He probado con execl, pero me da error. Com se puede hacer esto?


josette

 pero al programa le tengo que pasar parametros, pruebo con
system("potrace -o out"); por ejemplo?

EDIT: lo he probado y funciona pero se abre una ventana de ms-dos ( de esas negras) y claro, no es deseable que esta ventana aparezca. Hay alguna otra alternativa?

TheAzazel

 En windows si no quieres usar el system, te queda esto otro que es mas limpio y da mas control:

           STARTUPINFO si;
           PROCESS_INFORMATION pi;
           ZeroMemory( &si, sizeof(si) );
           si.cb = sizeof(si);
           ZeroMemory( &pi, sizeof(pi) );
 
          // Ejecutamos la aplicacion como un proceso independiente
    if(!CreateProcess( NULL, // No module name (use command line).
  "myapp.exe", // Command line.
  NULL,             // Process handle not inheritable.
  NULL,             // Thread handle not inheritable.
  FALSE,            // Set handle inheritance to FALSE.
  0,                // No 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.
 {
  AfxMessageBox("Fatal error at loading application",MB_ICONSTOP);
  return;
 }
   
       // Podemos esperar a que finalice la aplicacion
       //WaitForSingleObject( pi.hProcess, INFINITE );

       // Cerramos los manejadores.
       CloseHandle(pi.hProcess);
       CloseHandle(pi.hThread);


saludos







Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.
Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.