-
Data: 2022-04-18 18:30:10
Temat: Re: okienko z cmd.exe w Qt C++
Od: Adam M <a...@m...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Friday, April 15, 2022 at 1:10:22 PM UTC-4, Jivanmukta wrote:
> 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ę?
Najlepiej to zrobic z cmd lub ps (albo z Microsoft Terminal jesli to Win 10) -
teoretycznie konsola powinna byc dostepna nawet przy normalnym starcie z GUI (przez
double-cick na ikone) ale czesto konsola sie pojawia ale bez informacji (tylko
okienko konsoli i nic wiecej przynajmniej w QT pomiedzy 5.5 i 5.11 - w 6 za wyjatkiem
prostych testow nic jeszcze nie robilem)
Następne wpisy z tego wątku
- 20.04.22 11:35 Jivanmukta
- 27.04.22 09:04 fir
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-25 Karty przedpłacone (podarunkowe) Google Play - pytanie do korzystających
- 2024-11-26 wina Tóska
- 2024-11-26 Rewolucja/Rewelacja!
- 2024-11-25 grupa ożyła ;)
- 2024-11-24 Być jak Clint
- 2024-11-24 Rura kanalizacja konceptu Franke = problem
- 2024-11-25 Wrocław => Lead Java EE Developer <=
- 2024-11-25 Warszawa => Business Development Manager - Network and Network Securit
- 2024-11-25 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-25 Lublin => Senior PHP Developer <=
- 2024-11-25 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-25 Warszawa => ECM Specialist / Consultant <=
- 2024-11-25 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-11-25 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-25 Lublin => Inżynier Serwisu Sprzętu Medycznego <=