Posted By: pivson (Pijte pivo, je zdrave !) on 'CZprogram'
Title:     Re: Redirected konzole
Date:      Sun Nov 18 11:52:50 2001

> Cau....
> 
> Resil jste nekdo jak zjistit jesli je konzole redirektovana ?
> 
> Output se da zjistit celkem snadno, ale u inputu jsi nejsem 2x jistej.
> 
> Da se spolehnout na GetStdHandles < 3 pro 'ne-redirected' ?
Nejak jsem zapomel napsat, ted to mam prez:

    INPUT_RECORD                tempBuff;
    DWORD                       temp;
    CONSOLE_SCREEN_BUFFER_INFO  sinfo;
    CONSOLE_CURSOR_INFO         cinfo;

    // check if input handle is redirected
    if (!PeekConsoleInput(hIn,&tempBuff,1,&temp)) {

        if (GetLastError()==ERROR_INVALID_HANDLE)
            Piped|=PIPED_INPUT;
    }


    // check output
    if (!GetConsoleCursorInfo(hOut,&cinfo)) {

        Piped|=PIPED_OUTPUT;
        Size.x=80;
        Size.y=25;
        Pos.x =0;
        Pos.y =0;
    }

kde hOut a hIn jsou z process info, resp. GetStdHandle();

Mne hlavne zajima, jesli 9x vraci kdyz je console redirected 
ERROR_INVALID_HANDLE nebo neco jinyho....

Ja je ted nemam nainstalovany...

Potrebuju to vedet, neb pokud je redirected, tak se vypina user interakce a 
mesi se jeste par dalsich blbosti... (ala barvicky, ...)

 

Pivson I a posledni, z bozi vule pivar

    A co budou delat cesi ???
                                     Deme na pivo !

Search the boards