Ĺadny brzuch
Jak otworzyć ze swojego programu inny program, ale w taki sposób by mój program poczekał z wykonywanie dalszych instrukcji do czasu zamknięcia uruchamianego programu ?
Wyglądać ma to mnie więcej tak
1. wykonuje jakieś tam instrukcje
2. uruchamiam obcy program
3. czekam aż program zostanie zamknięty
4. wykonuję dalsze instrukcje
W aplikacjach konsolowych nie było to problemem ponieważ wywołanie funkcji system(ścieżka_programu); uruchamiało program, czekało aż zostanie zamknięty i dopiero wtedy wykonywało dalsze instrukcje. Natomiast w WinAPI wywołanie funkcji
ShellExecute(Handle, "Open", "calc.exe", NULL, NULL, SW_NORMAL);
skutkuje owszem otwarciem programu, ale nie czeka na jej zamknięcie tylko od razu wykonuje dalszą część kodu :/
Widzę, że poziom znajomości winApi jest na tym forum niski, skoro nie ma odpowiedzi nawet na tak proste pytanie.
Jak otworzyć ze swojego programu inny program, ale w taki sposób by mój program poczekał z wykonywanie dalszych instrukcji do czasu zamknięcia uruchamianego programu ?
Wyglądać ma to mnie więcej tak
1. wykonuje jakieś tam instrukcje
2. uruchamiam obcy program
3. czekam aż program zostanie zamknięty
4. wykonuję dalsze instrukcje
W aplikacjach konsolowych nie było to problemem ponieważ wywołanie funkcji system(ścieżka_programu); uruchamiało program, czekało aż zostanie zamknięty i dopiero wtedy wykonywało dalsze instrukcje. Natomiast w WinAPI wywołanie funkcji
ShellExecute(Handle, "Open", "calc.exe", NULL, NULL, SW_NORMAL);
skutkuje owszem otwarciem programu, ale nie czeka na jej zamknięcie tylko od razu wykonuje dalszą część kodu :/
Należy skorzystać z funkcji API CreateProcess() - zwraca ona między innymi uchwyt procesu.
Następnie skorzystać z tego uchwytu (nazywa się hProcess, nie hProcessId):
WaitForSingleObject(uchwyt,$ffffffff);
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Wyglądać ma to mnie więcej tak
1. wykonuje jakieś tam instrukcje
2. uruchamiam obcy program
3. czekam aż program zostanie zamknięty
4. wykonuję dalsze instrukcje
W aplikacjach konsolowych nie było to problemem ponieważ wywołanie funkcji system(ścieżka_programu); uruchamiało program, czekało aż zostanie zamknięty i dopiero wtedy wykonywało dalsze instrukcje. Natomiast w WinAPI wywołanie funkcji
ShellExecute(Handle, "Open", "calc.exe", NULL, NULL, SW_NORMAL);
skutkuje owszem otwarciem programu, ale nie czeka na jej zamknięcie tylko od razu wykonuje dalszą część kodu :/
Widzę, że poziom znajomości winApi jest na tym forum niski, skoro nie ma odpowiedzi nawet na tak proste pytanie.
Jak otworzyć ze swojego programu inny program, ale w taki sposób by mój program poczekał z wykonywanie dalszych instrukcji do czasu zamknięcia uruchamianego programu ?
Wyglądać ma to mnie więcej tak
1. wykonuje jakieś tam instrukcje
2. uruchamiam obcy program
3. czekam aż program zostanie zamknięty
4. wykonuję dalsze instrukcje
W aplikacjach konsolowych nie było to problemem ponieważ wywołanie funkcji system(ścieżka_programu); uruchamiało program, czekało aż zostanie zamknięty i dopiero wtedy wykonywało dalsze instrukcje. Natomiast w WinAPI wywołanie funkcji
ShellExecute(Handle, "Open", "calc.exe", NULL, NULL, SW_NORMAL);
skutkuje owszem otwarciem programu, ale nie czeka na jej zamknięcie tylko od razu wykonuje dalszą część kodu :/
Należy skorzystać z funkcji API CreateProcess() - zwraca ona między innymi uchwyt procesu.
Następnie skorzystać z tego uchwytu (nazywa się hProcess, nie hProcessId):
WaitForSingleObject(uchwyt,$ffffffff);