c - 如何在 C 中运行外部程序?

标签 c winapi

如何在 C 中运行外部程序?比如browser, word, Notepad等应用程序,还有如何设置外部应用程序的窗口大小程序?例如,300 X 300 像素的窗口大小。

最佳答案

标准方式是 system——几乎可以在任何地方运行,但您无法控制子进程的运行方式。

按控制(和复杂性)的升序排列,Windows 提供:WinExec , ShellExecute , ShellExecuteEx , 和 CreateProcess .使用 CreateProcess,您传递一个 STARTUPINFOSTARTUPINFOEX结构体。无论哪种方式,您都可以指定子窗口的起始位置和/或大小(尽 pipe 进程可以并且可能会在其窗口甚至可见之前移动/调整其大小)。

您可能还想考虑 Boost Process ,它不被接受为 Boost 的官方部分,但提供了比 system 更多的控制,同时保持相当数量的最广泛使用的系统(包括 Windows 和任何合理的系统)的合理移植类似 POSIX,例如 Linux 或 OS X)。

关于c - 如何在 C 中运行外部程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5278641/

相关文章:

c - 为什么我得到 expression must be a modifiable lvalue?

c++ - 互斥锁所有权队列顺序

c++ - PSN_QUERYCANCEL 不关闭属性表

python - 您将如何使用 ctypes 重新创建此 Windows API 结构?

c - Windows API 在 GetStdHandle() 中不起作用

c - SDL_Quit() 导致 SIGBUS 错误

c - 指针未在 main 中更新

c - 在头文件中通过宏定义数组

winapi - 如何让这两行在 cmd 控制台中的不同行上打印

c - 当您在 main 中动态分配内存时,如何处理函数中的 assert()?