[C/C++] Oczekiwanie na akcję przez określony czas

Awatar użytkownika
miki999
Użytkownik
Użytkownik
Posty: 8691
Rejestracja: 28 lis 2007, o 18:10
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 36 razy
Pomógł: 1001 razy

[C/C++] Oczekiwanie na akcję przez określony czas

Post autor: miki999 »

Witajcie,

mam sobie aplikację tego typu:

Kod: Zaznacz cały

int WINAPI _tWinMain (HINSTANCE /*hInst*/, HINSTANCE /*hInstPrev*/, LPTSTR /*lptszCmdLine*/, int /*nCmdShow*/)
pisaną w Visual Studio 2012.

W pewnym momencie programu oczekiwana jest pewna akcja (np. pewna zmienna ma przyjąć wartość 0). Chciałbym, aby np. program czekał na to tylko określoną ilość czasu (np. około 2 minut). Problem polega na tym, że nie wiadomo do końca gdzie ta aplikacja sobie skacze, a też nie chcę modyfikować istniejących funkcji i wpakowywać w nie jakichś parametrów.
Czy istnieje sposób, aby to jakoś zrealizować bez rozgrzebywania tego co jest?
Kiedyś pewnie do tego celu można było użyć sobie układu 8254, a teraz to czort jeden wie, co w tych puszkach zwanych komputerami tak na prawdę siedzi.

Będę wdzięczny za pomoc.


Pozdrawiam.
witekkq
Użytkownik
Użytkownik
Posty: 145
Rejestracja: 16 lis 2007, o 09:06
Płeć: Mężczyzna
Lokalizacja: Gniezno
Podziękował: 2 razy
Pomógł: 27 razy

[C/C++] Oczekiwanie na akcję przez określony czas

Post autor: witekkq »

to zależy co konkretnie chcesz po tych 2 minutach robić.. bo bez wgłębiania się w program to mi przychodzi na myśl jedynie utworzenie nowego wątku w momencie rozpoczęcia oczekiwania, start któregoś z timerów z win, i wywołać jakieś zdarzenie.
Awatar użytkownika
miki999
Użytkownik
Użytkownik
Posty: 8691
Rejestracja: 28 lis 2007, o 18:10
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 36 razy
Pomógł: 1001 razy

[C/C++] Oczekiwanie na akcję przez określony czas

Post autor: miki999 »

bo bez wgłębiania się w program to mi przychodzi na myśl jedynie utworzenie nowego wątku w momencie rozpoczęcia oczekiwania, start któregoś z timerów z win
Jeżeli istnieje możliwość zapuszczenia timera, to super sprawa.

A chcę po prostu wywalić błąd i wyjść z programu.
ODPOWIEDZ