我在c ++中有一个GUI。用于使用CreateProcess
方法启动另一个基于控制台的独立应用程序的GUI。我通过在CREATE_NO_WINDOW
中传递CreateProcess
标记来隐藏这些控制台应用。现在我想让它再次可见。我该怎么做?
答案 0 :(得分:1)
而不是使用CREATE_NO_WINDOW
标志,而是使用wShowWindow
结构的STARTUPINFO
成员。最初将其设置为SW_HIDE
(并将dwFlags
成员设置为STARTF_USESHOWWINDOW
),然后您可以在需要时使用ShowWindow()
来显示/隐藏控制台窗口。要查找属于新进程的窗口,请使用EnumWindows()
和GetWindowThreadProcessId()
查找其进程/线程ID与CreateProcess()
结构中PROCESS_INFORMATION
返回的ID匹配的窗口
答案 1 :(得分:0)
你有一次尝试创建窗口并将其传递出去。这是正确的,但你可以在createProcess方法之后显示或隐藏gui。
websiteChart.config.data = some_new_data;
websiteChart.update();
我创建了process.Now我使用find方法然后我可以显示GUI。
PROCESS_INFORMATION pi;
STARTUPINFO si;
ZeroMemory(&si,sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi);
si.wShowWindow = SW_SHOW;
si.dwFlags = STARTF_USESHOWWINDOW;
si.lpTitle ="my_process_console";
CreateProcess(null,"my.exe",null,null,false,CREATE_NEW__CONSOLE,null,null,&si,&pi);