Article View: pl.comp.programming
Article #217769Re: okienko z cmd.exe w Qt C++
From: Jivanmukta
Date: Fri, 15 Apr 2022 17:10
Date: Fri, 15 Apr 2022 17:10
52 lines
2753 bytes
2753 bytes
W dniu 15.04.2022 o 15:53, Adam M pisze:
> On Thursday, April 7, 2022 at 8:26:19 AM UTC-4, Jivanmukta wrote:
>> Używam C++ i Qt5.
>> Potrzebuje uruchomić pewien program konsolowy z argumentami ale tak,
>> żeby było widać okienko cmd.exe z uruchomionym tym programem.
>> Próbowałem tak:
>>
>> std::string terminal = exec_system(L"echo %windir%") +
>> "\\system32\\cmd.exe";
>> terminal = str_replace("\n", "", str_replace(END_LINE, "", terminal));
>> QProcess *process = new QProcess();
>> QString exec = QString::fromStdString(terminal);
>> QStringList params;
>> params << "/C";
>> for (std::string s : explode(std::string(" "), command)) {
>> params << str_replace("\"", "", s).c_str();
>> }
>> process->start(exec, params);
>> process->waitForFinished();
>> delete process;
>>
>> ale niestety okienko cmd.exe się nie wyświetla.
>> Tzn. pojawia się na jakiś czas klepsydra, ale okienka nie ma.
>>
>> Jak to zrobić?
> Do pliku pro dodaj:
> CONFIG += console
> do pliku CPP ktory startuje twoja aplikacje dodaj
>
> #include <windows.h>
> #include <stdio.h>
>
> w funkcji main(..) dodaj
>
> // detach from the current console window
> // if launched from a console window, that will still run waiting for the new console (below) to close
> // it is useful to detach from Qt Creator's <Application output> panel
> FreeConsole();
>
> // create a separate new console window
> AllocConsole();
>
> // attach the new console to this application's process
> AttachConsole(GetCurrentProcessId());
>
> // reopen the std I/O streams to redirect I/O to the new console
> freopen("CON", "w", stdout);
> freopen("CON", "w", stderr);
> freopen("CON", "r", stdin);
>
A jak wystartować aplikację?
Technical Details
Message-ID:
<t3c8ts$3advk$1@portraits.wsisiz.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!.POSTED.2a00:f41:1821:c745:9a7f:bdb3:51a3:22ef!not-for-mailReferences:
<t2ml98$3a56e$2@portraits.wsisiz.edu.pl> <6a7a1ee7-e05e-43a8-a5ca-cbeec6201cc4n@googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!.POSTED.2a00:f41:1821:c745:9a7f:bdb3:51a3:22ef!not-for-mail From: Jivanmukta <jivanmukta@poczta.onet.pl> Newsgroups: pl.comp.programming Subject: Re: okienko z cmd.exe w Qt C++ Date: Fri, 15 Apr 2022 19:10:08 +0200 Organization: http://www.wit.edu.pl Message-ID: <t3c8ts$3advk$1@portraits.wsisiz.edu.pl> References: <t2ml98$3a56e$2@portraits.wsisiz.edu.pl> <6a7a1ee7-e05e-43a8-a5ca-cbeec6201cc4n@googlegroups.com> Mime-Version: 1.0 Injection-Date: Fri, 15 Apr 2022 17:10:20 -0000 (UTC) Injection-Info: portraits.wsisiz.edu.pl; posting-host="2a00:f41:1821:c745:9a7f:bdb3:51a3:22ef"; logging-data="3487732"; mail-complaints-to="abuse@wsisiz.edu.pl" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 In-Reply-To: <6a7a1ee7-e05e-43a8-a5ca-cbeec6201cc4n@googlegroups.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit