vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Exe selbst löschen 
Autor: Hawker
Datum: 11.03.08 21:32

Man kann die eigene Exe auch mittels einer Batchdatei löschen. So geht's:
Option Explicit
 
Private Const MAX_PATH = 260
 
Private Declare Function GetTempFileName Lib "kernel32" Alias _
  "GetTempFileNameA" (ByVal lpszPath As String, ByVal lpPrefixString As String, _
  ByVal wUnique As Long, ByVal lpTempFileName As String) As Long
Private Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal _
nBufferLength As Long, ByVal lpBuffer As String) As Long
 
Private Declare Function CharToOemA Lib "user32.dll" (ByVal _
        lpszSrc As String, ByVal lpszDst As String) As Long
 
Private Declare Function SetFileAttributes Lib "kernel32" Alias _
  "SetFileAttributesA" (ByVal lpFileName As String, ByVal dwFileAttributes As _
  Long) As Long
 
Private Function CreateTempFileName$()
Dim p$, d$, i&
 
 p = Space(MAX_PATH + 1)
 d = Space(MAX_PATH + 1)
 GetTempPath MAX_PATH, d
 GetTempFileName d, "$", 0, p
 CreateTempFileName = Left(p, InStr(p, Chr(0)) - 1)
End Function
 
Public Sub Loeschen()
Dim batchname$, exename$
If MsgBox("'" & App.Title & "' löschen?", 36, "Frage") = 6 Then
  batchname = CreateTempFileName()
  batchname = Left(batchname, Len(batchname) - 3) & "bat"
  exename = App.Path
  If Right(exename, 1) <> "\" Then exename = exename & "\"
  exename = exename & App.exename & ".exe"
  SetFileAttributes App.exename, 0
  Call CharToOemA(exename, exename)  'Damit auch pfade mit umlauten gelöscht 
  ' werden können
 
  Open batchname For Output As #1
      Print #1, ":Label1"
      Print #1, "del """ & exename & """"
      Print #1, "if Exist """ & exename & """ goto Label1"
      Print #1, "rmdir """ & App.Path & """"
      Print #1, "del " & batchname
      Print #1, ""
      Print #1, ""
   Close #1
' Wichtig: Das aktuelle Verzeichnis muß gewechselt werden, da dieses sonst 
' nicht gelöscht werden kann:
   ChDir "c:\"
   Shell batchname, vbHide
   Beep
   MsgBox "Programm ist gelöscht!"
   End
  End If
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Exe selbst zerstören2.562dj.tommy18.02.08 17:52
Re: Exe selbst löschen2.111dj.tommy18.02.08 18:08
Re: Exe selbst löschen2.046VBMichi19.02.08 16:05
Re: Exe selbst löschen2.007TheNukeduke22.02.08 23:52
Re: Exe selbst löschen2.005dj.tommy23.02.08 00:07
Re: Exe selbst löschen2.119ModeratorMartoeng26.02.08 09:55
Re: Exe selbst löschen1.956dj.tommy26.02.08 15:35
Re: Exe selbst löschen2.054Hawker11.03.08 21:32
Re: Exe selbst löschen1.995dj.tommy11.03.08 21:43

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel