在工程遇到一个情况,需要程序A调用程序B,

程序B是一个控制台应用,大家都知道的时候,会调用窗口闪一下,作为一个商用级的应用,这么闪一下十分影响客户体验

怎么才能不闪一下呢,也就在运行程序B时候,隐藏窗口使用。

这里我想到的有两个方法:

1. 创建CreateProcess ,si.wShowWindow = SW_HIDE;的方法。

STARTUPINFOW si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_HIDE;

2.直接调用,不过在编译时候需要设置一下

属性-》连接器-》系统-》子系统,配置为:“窗口 (/SUBSYSTEM:WINDOWS)”

并在main函数前面添加:#pragma comment( linker, "/subsystem:windows /entry:mainCRTStartup" )

就可以边编译成功,在调佣时候将不显示这个控制台窗口,也就不会闪一下

posted on 2023-07-04 15:54  轻于飞  阅读(266)  评论(0)    收藏  举报