Czy da się zatrzymać wykonywanie wszystkich operacji z wyjątkiem niektórych funkcji?
Wiem, że da się zatrzymać aplikację na parę sec, ale mi chodzi żeby niektóre funkcje działały
Możesz pauzować pojedyncze wątki, główny również. Jak chcesz mieć część działań zawieszoną, to wstrzymujesz ich wątki, a pozostałe zostawiasz aktywne.
jak? możesz mnie jakoś nakierować?
Każdą operację, jaką przewidujesz że będziesz zawieszał uruchamiaj w osobnym wątku.
Kilka linków o wątkach:
http://www.opcode.eu.org/more_advanced/programing/c_cpp/watki.c/
http://peb.pl/programowanie/249590-c-kurs-obslugi-watkow.html
http://msdn.microsoft.com/en-us/library/ms682425(VS.85).aspx a to z MSDN, czyli w zasadzie wszystko co można zrobić na windzie.
Mając je w osobnych wątkach, gdy zajdzie taka potrzeba możesz wątek przyblokować muteksem lub http://msdn.microsoft.com/en-us/library/ms686345(VS.85).aspx. Zostaje tylko poczytać, i poeksperymentować. Temat wątków to temat rzeka, długo można w nim brodzić.
Ewentualnie jak korzystasz z Bouldier'a to poczytaj sobie o klasie TThread, jest dużo łatwiejsza w "okiełznaniu" od czystego API. Możesz też posiłkować się kompendium na stronie głównej. Co prawda jest to Delphi, ale to też jest twór Borland/CodeGear i obsługa/metody są identyczne.
Jakie funkcje mają nadal działać, a jakie mają być zatrzymane? Bez tego nic nie można sensownego powiedzieć.
Nie ma co wątków wciskać, skoro nie są potrzebne. Aby zatrzymać jakąś operacje może wystarczyć coś w stylu "if(!pauza) ...".