Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: shell i oczekiwanie na zakończenie procesu
anonim




Typ: Nie zarejestrowany
shell i oczekiwanie na zakończenie procesu

poleceniem shell wywołuję program, którego zadaniem jest spakować plik i automatycznie się zamknąć; problem w tym, że VB po odpaleniu tego programu przechodzi do wykonania następnej linii poleceń, a zależy mi na tym, by poczekał na zakończenie tego procesu; mogę oczywiście utworzyć pętlę czasową przed następną linią poleceń, ale czy znacie może jakiś inny sposób?

14-06-2004 15:18
  
m-a-x



Typ: neutral
Postów: 366
Zarejestrowany: Jan 2003

Tzn no możesz zrobić pętle która będzie sprawdzała czy dany program jest jeszce odpalony: listując wszystkie uruchomione programy w windowsie (w vbFAQ jest sampel w dziale "Mój program a inne programy..." a nastepnie porównaniu czy twój program znajdówje się na liście - jak nie to przerywasz pętle a kod wykonuje się dalej.


_____________________________________________

Problemem zazwyczaj nie jest brak osób znających odpowiedź a zadanie właściwego pytania!

14-06-2004 16:25
Pokaż profil m-a-x  Wyślij email do m-a-x   
Kris126




Typ: neutral
Postów: 32
Zarejestrowany: Mar 2004
shell i oczekiwanie na zakończenie procesu

Spróbowałbym po wywołaniu Shell() uruchomić Timera z dyrektywą sprawdzającą zakończenie procesu. Jeżeli warunek byłby spełniony - to zamknięcie Timera i wywołanie procedury która ma być wykonana po funkcji Shell().
Pozdrawiam <Kris>

14-06-2004 16:32
Pokaż profil Kris126  Wyślij email do Kris126        5026200
Knight Lore''FC




Typ: neutral
Postów: 240
Zarejestrowany: Jan 2003

Proponowal bym tez mozliwosc ustawienia max. czasu na wykonie procesu. Po tym czasie komunikat (Czekaj, Anuluj...) naprawde to pomaga... (nie lubie czekac 5 min. na zakonczenie procesu nie wiedzac czy on dziala czy wisi )

15-06-2004 01:58
Pokaż profil Knight Lore  Wyślij email do Knight Lore        1065423
i-spy



Typ: neutral
Postów: 44
Zarejestrowany: Apr 2004

'*------------------------------------------------------------------------
'* Autor        : Marcin
'* Data          : 24-08-2003
'* Kontakt      :
'* Strona WWW    : http://www.vbzone.prv.pl lub www.vbzone.scrypty.com
'*
'* Wszelkie prawa zastrzeżone, Program dla celów edukacyjnych !
'*------------------------------------------------------------------------

Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Const STILL_ACTIVE = &H103
Const PROCESS_QUERY_INFORMATION = &H400

Private Sub cmdUruchom_Click()==================
Dim hProcess As Long
Dim dProcessId As Double
Dim RetVal As Long

dProcessId = Shell("notepad.exe"

hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, Flase, dProcessId)

Do
    GetExitCodeProcess hProcess, RetVal
    DoEvents: Sleep 100
Loop While RetVal = STILL_ACTIVE

MsgBox "Program został zamknięty"
End Sub

__________________________________________________
Mam nadzieje ze to wystarczy;]

Pozdrawiam!


_____________________________________________
Oto moja pasja...
www.vbprograms.prv.pl
!Zapraszam

15-06-2004 06:45
Pokaż profil i-spy  Wyślij email do i-spy   Odwiedź stronę i-spy       2121177
anonim




Typ: Nie zarejestrowany

Dzięki wielkie. Pozdrawiam wszystkich.

15-06-2004 07:55
  
Wszystkich odpowiedzi: 5 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1