vc怎么隐藏运行外部程序
我做一个转码程序,用了一个a.exe文件实现转码。它是命令行的我想在MFC里调用这个a.exe,但不想它出现黑窗口,我只要等它运行完,读它生成的二进制文件就行。我怎么调用...
我做一个转码程序,用了一个a.exe文件实现转码。它是命令行的
我想在MFC里调用这个a.exe,但不想它出现黑窗口,我只要等它运行完,读它生成的二进制文件就行。
我怎么调用它,并让它隐藏运行呢? 展开
我想在MFC里调用这个a.exe,但不想它出现黑窗口,我只要等它运行完,读它生成的二进制文件就行。
我怎么调用它,并让它隐藏运行呢? 展开
7个回答
展开全部
VC程序的三种执行外部程序方法:
WinExec,ShellExecute,CreateProcess
如果你是控制台程序(DOS黑屏命令行),那么据我所知,应该都没办法隐藏窗口。
这三个函数都有隐藏窗口的选项,但只针对窗口程序,控制台程序不行,你试试吧,呵呵。
像你这种情况,有几个办法建议:
将代码加入工程,应该是最简单的
将a.exe做成a.dll,功能调用库,也可以
将a.exe的功能通过简单的窗口程序实现,这样无论外部调用还是内部控制,窗口都能隐藏
将a.exe做成系统服务service程序,这个是后台执行程序最合理的方式。
展开全部
string path = "F:\\My_Work\\Code\\C++\\test2\\Debug\\test2.exe";
int a = WinExec(path.data(), SW_HIDE);
这样就可以 隐藏后台运行了 注意winexec的 第二个参数 要用 SW_HIDE
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用CreateProcess函数,把STARTUPINFO中的wShowWindow设置成0。
使用ShellExecute函数,把nShowCmd设置成0。
以上两种方法皆可。
使用ShellExecute函数,把nShowCmd设置成0。
以上两种方法皆可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CreateProcess函数在STARTUPINFO wShowWindow设置为0。
使用ShellExecute函数nShowCmd设置为0的。
以上两种方法都可以。
使用ShellExecute函数nShowCmd设置为0的。
以上两种方法都可以。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CreateProcess把STARTUPINFO中wShowWindow设为SW_HIDE(0);ShellExecute把nShowCmd设为SW_HIDE(0);std::system用system("start a.exe /B /Wait")
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询