我有我的主应用程序,从我的主应用程序我将调用另一个模块(第三方)在我的主应用程序中执行一个小操作,当我调用该模块时...特定时间的进程说5秒 . 它在commmand窗口中显示了一些信息的进程..现在我的主应用程序等待被调用的模块完成它的进程 . 现在我的问题是......如何操作我隐藏这个命令窗口而不会干扰它的进程..我试图使用创建过程但它似乎不起作用......
例如:我的主应用程序是父进程,被调用的应用程序是子进程 . 父进程应独立于子进程..检查下面的示例
int main()
{
execl("c:\\users\\rakesh\\Desktop\\calledapplication.exe","c:\\users\\rakesh\\Desktop \\calledapplication.exe",0);
}
code in calledapplication
int main
{
printf("Rakesh");
}
现在考虑以上如果你运行第一个程序...输出将出现在同一个命令窗口(它不应该是这样)...我希望主应用程序创建进程,但它不应该受子进程的影响 .
3 回答
在
CreateProcess
的dwCreationFlags
参数中传递CREATE_NO_WINDOW
.你谈到了一个“命令窗口”,所以我假设孩子是一个控制台应用程序 . 在这种情况下,您可以在单独的conole中创建进程,并可选择强制新控制台进行图标化或隐藏 . 以下代码启动一个解释批处理文件(mytest.bat)的子进程 . 我希望它可以提供帮助 . 问候 .
听起来您希望子进程的输出显示在单独的窗口中 . 如果是这样,你想调用
CreateProcess
并传递CREATE_NEW_CONSOLE
标志,而不是使用exec*
.