[ *.net @ 08.08.2002. 21:35 ] @
Moze li neko da mi kaze zasto se ovom prilikom neki prog.exe ne zaustavi? Pokrenem lepo program sa start() i na kill mi javljda da myproc nije "asociran" nijenim procesom. Zar ganisam "asocirao" sa start("prog.exe") ?

Dim myproc As System.Diagnostics.Process
myproc = New System.Diagnostics.Process()
myproc.Start("c:\prog.exe")
myproc.Kill()
[ Dragi Tata @ 08.08.2002. 22:20 ] @
Probaj da "otspavaš" stotinak milisekundi pre nego što pozoveš kill (Thread.Sleep(100))
[ degojs @ 08.08.2002. 22:45 ] @
Start metod process klase ima vise 'oblika'. Dakle, kada otkucas
myproc.Start(
e sad zastani i mozes da se pomocu kursora gore/dole setas kroz razlicite oblike (uz kratko objasnjenje!) iz cega ce ti biti jasno u cemu je problem.

Elem,

myproc = New System.Diagnostics.Process()
myproc.StartInfo.FileName = "x:\temp\notepad.exe"
myproc.Start()

za 'gasenje' procesa koristi
myproc.CloseMainWindow()

a moze i Kill ako BAS mora. Mada nije preporuceno - pogledaj uputstvo.

Mozda ovako:

myproc.CloseMainWindow()
If Not myproc.WaitForExit(3000) Then ' cekamo 3 sekunde da se ugasi 'normalno'
myproc.Kill() ' ako nece ubijamo proces nasilno :)
End If

HTH
[ *.net @ 08.08.2002. 23:48 ] @
hvala ljudi, zaista ste najbrzi. kao i uvek.
u uputstvu ako dobro razumem pise da closemailwindow gasi naravno prozor, a kill gasi ako je neki drugi "mod" npr ako je dos prompt u full screen-u ili ako je ukljucena neka igra kako ono kazu open GL hehee.

jel ovo tacno ili da ucim engleski jos?
[ degojs @ 09.08.2002. 01:42 ] @
Sve sto pise na MSDN-u je tacno :) ako oni ne znaju - ko zna? :)))

Kada pozoves CloseMainWindow onda je to isto kao da si u toj nekoj aplikaciji pritisnuo ALT-F4 ili kliknuo na X (close) dugme. Dakle, procesu se daje na znanje da treba da zavrsi sa radom, pa prema tome daje mu se sansa da odradi sta treba - zapise na disk neke parametre, oslobodi resurse, ali naravno, proces moze i da odbije zahtev ako ima razlog za to: npr. Word moze da te pita "Do you want to save the changes made to the document?" i slicno, cime ce efektivno da spreci ono sto ti zelis - ako je momentalno zatvaranje programa to sto zelis.
Dakle, treba imati na umu da CloseMainWindow samo salje zahtev procesu da zavrsi sa radom, sto NE ZNACI da ce isti da se uvek povinuje i odmah prekine rad :)

Kill ce da 'ubije na mestu' proces tako da ovaj ne zna sta ga je snaslo :) (sto je nekad neophodno - ako proces 'zaglavi'). Medjutim i sam vidis sta pise na MSDN-u koji su nedostaci upotrebe Kill metode - resursi mogu da ostanu zauzeti i sl. U svakom slucaju imas na raspolaganju svojstva poput Responding i HasExited koja ce ti pomoci da se odlucis za Kill metod ako bas zatreba.

Moras da sam odlucis sta je prihvatljivo u tvom slucaju, moj savet je da uvek probas prvo CloseMainWindow, pa ako ne ide onda pokusaj da vidis zasto, pa malo sacekaj, a ako bas nema pomoci - Kill :)
[ *.net @ 09.08.2002. 13:24 ] @
hvala degojs. da ovo bas ide lagano a mislim da nije moglo u VB-6. To jest nije mogao da se ugasi proces koji je ukljucen sa shell.
Procitao sam tut za ado.net-svaka cast.
[ jc denton @ 09.08.2002. 15:00 ] @
Aplikaciju koju si otvorio sa Shell mozes da 'ubijes' tako sto preko SendKeys komande 'posaljes' Alt+F4, mada to ne radi uvek.

poz.
[ degojs @ 10.08.2002. 09:57 ] @
Sto se tice uputstva za ADO.NET, napisacu jos jedno malo kasnije - bice nesto oko upotrebe ADO.NET-a bez koristenja DataSet-a, koristenja stored procedures i jos ponesto. Veruj mi, najveci je problem da se negde zaustavis, toliko toga ima, a sta izostaviti? Sta ubaciti? Sve ponekad izgleda da je bas to bitno... Prilicno nezahvalan posao. Npr. nisam ni pomenuo DataView-e, problem Auto Increment polja kod koristenja DataSet-a, itd, itd ....
A opet, ne mozes da duzis previse - znam po sebi: ja MRZIM da citam iole duze 'price' i objasnjenja 'sa monitora'.. nekako mi je sa papira jedno milion (ma sta milion?? Sto 'iljada bre!!:)) puta lakse citati i uciti.

pozdrav