Hei
Pystyykö ohjelman laittaa sammumaan ja sitten uudelleen käynnistymään koodilla?
Jos pystyy niin miten onnistuisi?
Jokke
Yksinkertaisin keino olisi varmaan käynnistää toinen ohjelma, joka käynnistää sen ensimmäisen ohjelman uudelleen tietyn ajan kuluttua.
Toinen vaihtoehto olisi käyttää käyttöjärjestelmän ajastettuja toimintoja, mutta tämä tietysti hieman vaihtelee käyttöjärjestelmittäin. Jos taas riittää, että se käynnistyisi uudelleen esim. seuraavalla kirjauksella, niin voisi käyttää esim. Windowsin RunOnce menettelyä.
Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed Dim MyProcess As New Process() MyProcess.StartInfo.WorkingDirectory = "hakemisto" MyProcess.StartInfo.FileName = "Tiedostonimi.exe" MyProcess.Start() End Sub
*edit vähän kannattaa soveltaa kuitenkin, ettei ole kiva looppi päällä kuten itsellä testatessa pamahti päälle. kyllä ajattelemattomuus on kaunista :)
tämä koski jos haluat sammuttaa oman ohjelmasi, ja käynnistää sen uudelleen.
tässä esimerkki "vieraan" prosessin sammuttamisesta:
Dim myProcesses As Process() = Process.GetProcessesByName("acrobat") 'tässä tapauksessa haetaan acrobat readeriä Dim myProcess As Process For Each myProcess In myProcesses If myProcess.MainWindowTitle = "" Then myProcess.Kill() Next myProcess
eiköhän noita soveltamalla onnistu
Kiitos groovyb ja Grez
Ohjelmani kaatuu ja kysyy lähetetäänkö virheilmoitus microsoftille. En osaa paikantaa vikaa(ainakaan vielä...). Ajattelin tehdä rinnalle toisen ohjelman joka vahtii onko ohjelma tehnyt aikaleiman tiedostoon, jos ei ole niin tuhoaa prosessin ja käynnistää ohjelman uudelleen.
groovyb vastasit tulevaan kysymykseeni, suuri kiitos. Esimerkeilläsi pääsen soveltamaan tarvettani.
Aihe on jo aika vanha, joten et voi enää vastata siihen.