login  Naam:   Wachtwoord: 
Registreer je!
 Forum

delete program na afsluiten

Offline jelle - 27/05/2009 17:16
Avatar van jellePHP beginner he sitemaster!

Tijdje geleden dat ik weer actief was.. Maar ben terug met een vraagje. Ik heb een vb.Net applicatie (destkop, niet op het web) en ik wil dat het zichzelf delete na afsluiten. Dus nadat op het kruizje is gedrukt dat het programma zich delete. Maar ik krijg natuurlijk een error omdat hij nog wel openstaat. ik heb het deleten in de MyBase.FormClosed gezet.

Jelle

8 antwoorden

Gesponsorde links
Offline Mario - 27/05/2009 19:14
Avatar van Mario Crew algemeen zolang je programma loopt kun je het natuurlijk niet afsluiten  

Je zult het vanuit een .bat file moeten deleten.
dus :
wanneer je programma opstart, start je de bat file vanuit je programma (shell).
de bat file zit in een loop om je .exe te deleten, maar kan dit niet zolang je programma runt.
eens je je programma sluit zal het je programma deleten.


  1. :retry_del
  2. del yourfile.exe > Nul
  3. if exist yourfile.exe goto retry_del
Offline jelle - 27/05/2009 20:26 (laatste wijziging 27/05/2009 20:55)
Avatar van jelle PHP beginner maar dan heb je wel dat achtergebleven bat bestand. Ik wil het liefst dat het geen sporen nalaat. je kan dat stukje zeker niet helemaal aanroepen in shell via je vb.net applicatie?

ok een stukje gevonden op codeproject:
  1. If GetOSVersion() = "Vista/Win2008Server" Then
  2. Process.Start("cmd.exe", "/C choice /C Y /N /D Y /T 3 & Del " + Application.ExecutablePath.ToLower)
  3. Application.Exit()
  4.  
  5. Else
  6.  
  7. Process.Start("cmd.exe", "/C ping 1.1.1.1 -n 1 -w 3000 > Nul & Del " + Application.ExecutablePath.ToLower)
  8. Application.Exit()
  9.  
  10. End If


maaar.. het werkt niet. het dos schermpje geeft een error maar verdwijnt te snel om het te zien. Ik heb de timeout van 3 sec. ook al verhoogd maar dit lost niks op. Enige ideeën? Ik test trouwens onder vista maar de applicatie moet straks onder xp werken. Het is een simpel browsertje dat zichzelf na gebruik moet verwijderen
Offline urqbz - 27/05/2009 20:57
Avatar van urqbz PHP interesse Kun je dat bat bestand niet zichzelf laten verwijderen?
Offline henver - 27/05/2009 21:01
Avatar van henver HTML gevorderde Ja dat gaat: http://www.drea...c99239.htm
Offline jelle - 27/05/2009 21:04 (laatste wijziging 27/05/2009 21:19)
Avatar van jelle PHP beginner ok bedankt  ga weer even verder knutselen 

he het werkt 
  1. pause 1
  2. :Begin
  3. del "D:\Program Directory\Microsoft Visual Studio\vb.NET\projects\web\web\bin\Debug\web.exe"
  4. if exist "D:\Program Directory\Microsoft Visual Studio\vb.NET\projects\web\web\bin\Debug\web.exe" goto Begin
  5. del "D:\Program Directory\Microsoft Visual Studio\vb.NET\projects\web\web\bin\Debug\del.bat"
  6.  
  7. pause


dit stukje schrijft mijn applicatie in del.bat. bij het sluiten roept hij het batch bestand aan en sluit dan helemaal af. Alles werkt alleen de pause 1 in het begin gaat niet automatisch verder zonder op een toetst te drukken maar daar is wel op te vinden.

Super 
Offline henver - 27/05/2009 21:26
Avatar van henver HTML gevorderde Kan je die pauze niet gewoon weglaten?
Offline Mario - 27/05/2009 22:57 (laatste wijziging 27/05/2009 22:58)
Avatar van Mario Crew algemeen Ik heb je toch de code gegeven voor je bat file  


:retry_del
del yourfile.exe > Nul
if exist yourfile.exe goto retry_del

Gooi dit in een bat file en vervang yourfile.exe door jouw programma.
Zolang je exe geopent is blijft de bat file proberen het te wissen, eens gewist, blijft enkel je bat file over

PS : de pause 1 in je programma is niet nodig.
Offline henver - 28/05/2009 16:52
Avatar van henver HTML gevorderde En bij mijn code blijft er niks achter 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.392s