Avatar billede kierch Nybegynder
21. oktober 2003 - 14:44 Der er 16 kommentarer og
1 løsning

Status på om exe kører

Du er her : Eksperten : Programmering : C# : Status på om exe kører :


Fra min kode starter jeg et program med
ShellExecute(NULL,
                "open",
                "CPROG08SZ.exe",
                NULL,
                NULL,
                SW_SHOW);

Men hvordan finder jeg ud af at programmet er færdig med at køre
Avatar billede arne_v Ekspert
21. oktober 2003 - 14:45 #1
Avatar billede arne_v Ekspert
21. oktober 2003 - 14:46 #2
Der er kode + 2 eksempler på brug + executables på eksempler + build
script til VC++ 6.0 !
Avatar billede kierch Nybegynder
21. oktober 2003 - 14:54 #3
er der ikke en nemmere metode  ??
Avatar billede arne_v Ekspert
21. oktober 2003 - 14:55 #4
I så fald kender jeg den ikke.

Iøvrigt er det ikke så svært at bruge. Og EnumProc koden skal
jo bare buildes med ind i din applikation.
Avatar billede segmose Nybegynder
21. oktober 2003 - 15:40 #5
Hvad vil du egentlig, vil du bare vente på at programmet køre færdig og lade det oprindelige program vente på det afslutter eller skal dit eget lave noget i mellemtiden?

Hvis du bare vil vente burde

x = system("programderskalkøre");

kunne bruges.
Avatar billede kierch Nybegynder
21. oktober 2003 - 15:44 #6
Det er åbenbart ike helt nemt.
Min app skal lave andet. Og jeg skulle også gerne fange en exit code
Avatar billede arne_v Ekspert
21. oktober 2003 - 15:48 #7
EnumProc koden tillader dig at køre videre og løbeende teste
om programmet er afsluttet.

Men ingen status.

system kaldet henter derimod status men kører ikke videre.
Avatar billede kierch Nybegynder
21. oktober 2003 - 15:53 #8
Hvis jeg bruger CreateProcess(.... vil det så give mig flere muligheder ???
Avatar billede arne_v Ekspert
21. oktober 2003 - 15:56 #9
Tror jeg ikke.
Avatar billede segmose Nybegynder
21. oktober 2003 - 16:21 #10
Hvis du er hjemme i multi threading kan du jo lave en thread der laver en system, det kunne måske fungere.
Avatar billede bertelbrander Novice
21. oktober 2003 - 20:37 #11
Hvis du bruger CreateProcess(...), kan du bruge GetExitCodeProcess(...) til at checke om programmet stadig kører & få status for programmet når det afslutter.

Der er et eksempel på det her, kik efter funktionen RunCommand() i netsend.c:

http://home20.inet.tele.dk/midgaard/NetSend.msc.zip
Avatar billede kierch Nybegynder
22. oktober 2003 - 11:02 #12
Har valgt at anvende CreateProcess og GetExitCodeProcess exitCode==STILL_ACTIVE hvis processen kører og her får jeg også exitcoden fra programmet.
Avatar billede arne_v Ekspert
22. oktober 2003 - 11:23 #13
Har jeg fortjent de point ??
Avatar billede kierch Nybegynder
22. oktober 2003 - 11:43 #14
Det var ikke meningen du skulle have haft 100 jeg ville ændre det til 30 og give dig dem men det gik galt. For du har jo et rigtigt svar selv om jeg valgte ikke at anvende det.
Avatar billede arne_v Ekspert
22. oktober 2003 - 11:45 #15
Skal jeg føre 70 tilbage til dig ?
Avatar billede kierch Nybegynder
22. oktober 2003 - 11:46 #16
Ja tak 8-)
Avatar billede arne_v Ekspert
22. oktober 2003 - 11:48 #17
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester