eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingokienko z cmd.exe w Qt C++Re: okienko z cmd.exe w Qt C++
  • X-Received: by 2002:a05:6214:c44:b0:444:461e:7dc0 with SMTP id
    r4-20020a0562140c4400b00444461e7dc0mr7548125qvj.61.1650030788784; Fri, 15
    Apr 2022 06:53:08 -0700 (PDT)
    X-Received: by 2002:a05:6214:c44:b0:444:461e:7dc0 with SMTP id
    r4-20020a0562140c4400b00444461e7dc0mr7548125qvj.61.1650030788784; Fri, 15
    Apr 2022 06:53:08 -0700 (PDT)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erj
    e.net!feeder.erje.net!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out
    .google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!
    not-for-mail
    Newsgroups: pl.comp.programming
    Date: Fri, 15 Apr 2022 06:53:08 -0700 (PDT)
    In-Reply-To: <t2ml98$3a56e$2@portraits.wsisiz.edu.pl>
    Injection-Info: google-groups.googlegroups.com; posting-host=71.24.96.225;
    posting-account=aFGPVQoAAADngh59qlchYygiuB87zBBU
    NNTP-Posting-Host: 71.24.96.225
    References: <t2ml98$3a56e$2@portraits.wsisiz.edu.pl>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <6...@g...com>
    Subject: Re: okienko z cmd.exe w Qt C++
    From: Adam M <a...@m...com>
    Injection-Date: Fri, 15 Apr 2022 13:53:09 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Lines: 53
    Xref: news-archive.icm.edu.pl pl.comp.programming:215788
    [ ukryj nagłówki ]

    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);

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: