Zamknięcie okna programu escapem

0

Cześć, zastanawiam się czy można by zawrzeć jakoś w kodzie komendę która po wyświetleniu całego wyjścia, znaczy wszystkich danych które program miał wyświetl na standardowym wyjściu, umożliwiała by zamknięcie okna programu przez naciśnięcie np. ESC.
Czy to zależy od systemu w jakim się pracuje i od kompilatora ? Próbowałem coś kombinować z:

 

int main()
{
    while(input() != EOF)
   {
    // program
   }
}

ale ten przykład znaleziony gdzieś w internecie nie jest "przenośny" na moje IDE, tj. DeV C++, istnieje może jakaś funkcja która nadawała by się do użycia w moim przypadku ? Chcę po prostu żeby po naciśnięciu ESC całe okno w DeV C++ znikało.

0

Z devem raczej daj sobie spokój, to stare, nierozwijane od dawna IDE. Przejdź np na również darmowe code::blocks, tam rzeczowe okno zamyka się enterem. O ile to wyjście to konsola, jak robisz w jakimś GUI to już w nim musisz ustawić co trzeba.

0

Chętnie dałbym sobie spokój, ale mam taką "zachciankę", że chciałbym wiedzieć jak można w aplikacji konsolowej (bez zadnego GUI) zamknąć okno programu ESC-apem.
Ktoś ma jakieś rzeczowe porady ?

0

Chodzi Ci o zamknięcie programu konsolowego w dowolnym momencie naciskając ESC ? Jeśli tak to możesz stworzyć osobny wątek który założy hook'a na klawiaturę a następnie sprawdzał czy naciśnięto ESC, jeśli tak to natychmiast zabijamy program, lecz to raczej "przerost formy nad treścią". Już chyba lepszym rozwiązaniem jest użycia skrótu Ctrl + C jako zakończenie programu, wtedy możemy posłużyć się tym: http://www.yolinux.com/TUTORIALS/C++Signals.html

0

Dokładnie o takie coś mi chodzi.
Naciskam ESC i zamyka okno. Masz może jakąś implementację tego hook'a ?
TYLKO że program ma być napisane w C a nie C++, bo dla tego drugiego już znalazłem fajne rozwiązanie.

0

Jeśli chodzi o tego hook'a to nie dam Ci gotowej implementacji, mogę Cię tylko nakierować:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms644990(v=vs.85).aspx

1 użytkowników online, w tym zalogowanych: 0, gości: 1