GUI blokkert mens du kjører stille app VC ++

stemmer
0

Jeg har bygget et GUI-grensesnitt i C ++ (Windows XP, Visual C ++ 2008). Det kan du konfigurere noen parametere, og når jeg klikker på OK-knappen, er en stille Programmet (og bruker verdiene setted). Når jeg gjør dette, GUI frozes og selv dissappears hvis du bytter til andre vinduer (det er fortsatt der, men du kan bare se en hvit plass), når den andre program ferdig GUI fungerer igjen.

Dette er den riktige atferden, jeg ønsker ikke at brukeren skal kunne redigere feltene ... men det er litt stygg når du ikke kan se det grafiske brukergrensesnittet. Er det noen som vet en enkel måte å være i stand til å bytte til andre vinduer og å kunne se GUI når du slår tilbake?

Takk på forhånd

redigert:

Hei, jeg prøvde å gjøre dette, men problemet er at for å kjøre programmene i bakgrunnen jeg hadde en funksjon som bruker CreateProcess. Så begge veier det grafiske brukergrensesnittet blir frosset: Hvis jeg oppretter en tråd som skaper prosessen og hvis jeg creathe prosessen direkte.

Deretter venter jeg for prosessen til slutt:

Hvis {return GetLastError () (CreateProcess (NULL, ARGS, null, null, FALSE, CREATE_NEW_CONSOLE, null, null, og StartupInfo, og ProcessInfo)!);
} WaitForSingleObject (ProcessInfo.hProcess, uendelig); if (GetExitCodeProcess (ProcessInfo.hProcess, og RC)!) RC = 0;

Noen ide?

Publisert på 18/02/2010 klokken 08:22
kilden bruker
På andre språk...                            


1 svar

stemmer
0

Start eksternt program i en annen tråd, og blokkere hovedtråden via et modalt popup. I modal popup bruke en timer for å jevnlig sjekke om andre tråden har allerede ferdig og lukke den hvis den har.

Som en bonus kan du vise tiden tilbrakt i modal popup.

Svarte 18/02/2010 kl. 08:28
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more