¿Cómo puedo ejecutar un programa externo en C? Por ejemplo, programas de aplicación como browser
, word
, Notepad
, etc. ¿Cómo puedo configurar un determinado tamaño de la ventana del programa de aplicación externo? Por ejemplo, un tamaño de ventana de 300 X 300
píxeles.¿cómo puedo ejecutar un programa externo en C?
Respuesta
Ejecuta y programa externo usando system desde la biblioteca estándar C o la función Win32 CreateProcess.
Para cambiar el tamaño de la ventana principal de una aplicación que cree. Primero, inicie el proceso con CreateWindow. Luego use EnumThreadWindows con el controlador de CreateProcess para encontrar la ventana principal de ese proceso. Finalmente, puede llamar al MoveWindow con ese asa para establecer el tamaño y la posición.
Para ejecutar un programa externo, el método más directo es con system
. Hay otras opciones (use la búsqueda).
Para establecer el tamaño de la ventana, debe interactuar con su administrador de ventanas y pedirle que lo haga. No sé si eso es posible para usted (Windows tiene un comando "start" que puede serle útil si usa ese sistema operativo).
La forma estándar es system
- funciona prácticamente en cualquier lugar, pero no le da control sobre cómo se ejecuta el proceso secundario.
en orden ascendente de control (y la complejidad), Windows proporciona: WinExec
, ShellExecute
, ShellExecuteEx
, y CreateProcess
. Con CreateProcess pasa una estructura STARTUPINFO
o STARTUPINFOEX
. De cualquier manera, puede especificar la posición inicial y/o el tamaño para la ventana secundaria (aunque el proceso hijo puede y puede mover/cambiar el tamaño de su ventana incluso antes de que sea visible).
Es posible que también desee considerar Boost Process
, que no se acepta como parte oficial de Boost, pero proporciona un poco más de control que system
, mientras que permanece razonablemente portátil para un buen número de los sistemas más utilizados (incluidos ambos Windows y cualquier cosa razonablemente similar a POSIX, como Linux o OS X).
El problema con 'system' es que abre la consola (en Windows de todos modos). ¿Hay alguna manera de deshacerse de eso? –
Creo que la lista de alternativas que he dado sigue siendo razonablemente precisa. Si necesita capturar la salida de 'stdout' del niño o la entrada de alimentación a su' stdin', también podría considerar 'popen'. También agregué un puntero a Boost.Process, que podría ser útil (pero tenga en cuenta que, a pesar del nombre, oficialmente no es una versión de Boost). –
puede utilizar la función del sistema para este propósito, como,
#include <stdlib.h>
int main()
{
system("your-program-name");
return 0;
}
Esto se ejecutará en el símbolo del sistema.
Pero si desea utilizar winapi la mejor manera es utilizar la función CreateProcess(), http://msdn.microsoft.com/en-us/library/ms682425.aspx
También puede comprobar _popen (stdio.h ) para aplicaciones de consola (solamente).
Para crear una aplicación de Windows que redirija la entrada y la salida, consulte Creating a Child Process with Redirected Input and Output en el SDK de Windows.
Nunca utilice el sistema() en Windows (prohibido) Usar el Shell apis
- 1. ¿Cómo ejecutar un programa externo desde Node.js?
- 2. Ejecutar programa externo desde Java
- 3. ¿Cómo ejecutar un programa externo a través de un programa C#?
- 4. ¿Cómo puedo ejecutar un programa externo desde C y analizar su salida?
- 5. C#: ejecutar el programa de consola externo como oculto
- 6. Intentando ejecutar un editor externo desde un programa Go
- 7. ¿Cómo ejecutar un programa C en Ubuntu?
- 8. ¿Cómo ejecutar testcase externo (Class, junit) en el programa java?
- 9. ¿Cómo ejecutar un programa Java desde C#?
- 10. Llamar a un programa externo desde OCaml
- 11. ¿Cómo se ejecuta un programa externo en node.js en Windows?
- 12. Incrustar un archivo ejecutable externo dentro de un programa C#
- 13. Ejecutar otro programa en C++
- 14. ¿Cómo iniciar y ejecutar un script externo en segundo plano?
- 15. ¿Cómo ejecuto un programa externo dentro del código C en Linux con argumentos?
- 16. Ejecutar programa desde dentro de un programa C
- 17. Cómo ejecutar un programa simple C en Eclipse IDE
- 18. ¿Cómo puedo ejecutar un comando de línea de comando desde un programa en C++
- 19. Compilar y ejecutar un programa en C en Emacs
- 20. Ejecutar un programa desde ASP.NET C#
- 21. Cómo ejecutar un programa externo, p. Bloc de notas, utilizando hipervínculo?
- 22. ¿Cómo llamar a un programa externo con parámetros?
- 23. Ejecutar un programa en un foreach
- 24. Cómo ejecutar un script bash desde el programa C++
- 25. Cómo ejecutar un procedimiento almacenado dentro del programa C#
- 26. ¿Cómo puedo ejecutar un programa EXE desde un servicio de Windows usando C#?
- 27. ¿Cómo se escribe un programa en C para ejecutar otro programa?
- 28. ¿Cómo ejecutar un programa de Hadoop?
- 29. Ejecutar un comando Linux en el programa c
- 30. ¿Cómo puedo ejecutar un programa o un archivo por lotes en el lado del cliente?
Cada hilo debe ser una sola pregunta. Debe crear un nuevo hilo para la segunda pregunta (aunque una búsqueda rápida encontrará las respuestas para ambos). –