Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Utworzenie aplikacji bez konsoli z przekierowaniem strumienia

Ostatnio zmodyfikowano 2014-12-31 16:49
Autor Wiadomość
Admixior
Temat założony przez niniejszego użytkownika
[C++] Utworzenie aplikacji bez konsoli z przekierowaniem strumienia
» 2014-12-23 00:23:23
Witam,
Chciałbym z poziomu języka c++ wykonać aplikację z przekierowaniem strumienia na systemie Windows, coś jak: system("appka < plik");
Natomiast problem jest w tym że powyższa funkcja powoduje powstanie instancji konsoli jeśli ta nie istnieje. Nie chcę aby otwierając inne aplikację użytkownik musiał co chwilę oglądać mrugające konsole.

Czy jest inna funkcja/zestaw funkcji, które dadzą możliwość utworzenia procesu z przekierowaniem z pliku lub podać te dane na standardowe wejście później, lecz bez konsoli?
P-123259
darko202
» 2014-12-23 01:03:18
istnieje funkcja FreeConsole() ukryje okno konsoli
http://msdn.microsoft.com​/en-us/library​/ms683150%28VS.85%29.aspx
<< Removed by DejaVu: nie wiem czy wiesz, ale użycie wspomnianej przez Ciebie funkcji nie miałoby najmniejszego sensu >>

może wystarczy ukrycie konsoli.
program może wykonywać jakieś obliczenia itd. ale nie pobierać danych od użytkownika

C/C++
#include <iostream>
#include <cstdlib>
#define _WIN32_WINNT 0x0500
#include <windows.h>
using namespace std;

int main() {
    HWND hWnd = GetConsoleWindow();
    ShowWindow( hWnd, SW_HIDE );
    cout << "test" << endl;
    system( "PAUSE" );
    return EXIT_SUCCESS;
}


P-123261
DejaVu
» 2014-12-30 22:31:58
C/C++
#include <iostream>
#include <string>
#include <windows.h>

int main()
{
    std::string tekst;
    std::getline( std::cin, tekst );
    ::MessageBoxA( NULL, tekst.c_str(), "Komunikat", MB_OK );
    return 0;
}
Kompilujesz po prostu aplikację bez konsoli. Wywołanie:
pgDejaVu-vc11.exe < plik.txt
P-123702
Elaine
» 2014-12-31 16:49:05
Czy jest inna funkcja/zestaw funkcji, które dadzą możliwość utworzenia procesu z przekierowaniem z pliku lub podać te dane na standardowe wejście później
CreateProcess
P-123746
« 1 »
  Strona 1 z 1