AUTODELETE - UNE APPLICATION QUI S'AUTO SUPPRIME À SA FERMETURE
griffondorsonic
Messages postés97Date d'inscriptionlundi 5 juillet 2010StatutMembreDernière intervention21 mars 2012
-
30 juin 2011 à 21:25
griffondorsonic
Messages postés97Date d'inscriptionlundi 5 juillet 2010StatutMembreDernière intervention21 mars 2012
-
13 sept. 2011 à 09:34
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
griffondorsonic
Messages postés97Date d'inscriptionlundi 5 juillet 2010StatutMembreDernière intervention21 mars 20122 13 sept. 2011 à 09:34
ouais mais du coup, ça fais un peu comme les navigateur piwee si on met "copy" il vas rechercher la mise à jour et mettre la nouvelle version et l'autodelete c'est pas mal non plus, il suffirais de créé une option si on veut que l'application se supprime tout seul ou non.
pas mal comme sources ;)
cs_piwee
Messages postés34Date d'inscriptionlundi 10 juin 2002StatutMembreDernière intervention20 octobre 2009 13 sept. 2011 à 07:48
Salut,
J'ai trouvé une autre utilisation à cette source : la mise à jour automatique de l'application.
Si une nouvelle version de l'application est disponible, au lieu de faire un "DEL", on fait un "COPY" du nouvel exécutable et on le redémarre.
Ça évite d'avoir un programme en plus qui copie la nouvelle version.
Après quelques recherches, j'ai trouvé la bonne syntaxe de la commande DOS à faire.
Ça fonctionne bien.
Salut Mayzz,
Je trouve très utile ton app, surtout pour les mauvais payeurs (quand tu fais un prog et le client refuse de te payer après)
J'ai donc ajouté une astuce qui va inscrire dans le fichier LISEZMOI.txt un compteur du nombre de démarrages autorisés.
Il faut juste créer le LISEZMOI.txt dans le répertoire de l'application, si le gars ne le sait pas l'application s’efface et c'est fini.
Je peux t'envoyer le tout par mail si tu veux carlos_gwada@hotmail.fr (j'ai visual studio 2010)
Regarde:
Public Class AutoDelete
Public Str, St As String
Public Rt As Integer
Private Sub btn_Del_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Del.Click
Me.Close()
End
End Sub
Private Sub AutoDelete_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Str = (Val(Str) + 1)
FileOpen(1, Application.StartupPath & "\LISEZMOI.txt", OpenMode.Random)
FilePut(1, Str, 222)
FileClose()
End Sub
Private Sub AutoDelete_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Count()
End Sub
Private Sub Count()
On Error GoTo 10
FileOpen(1, Application.StartupPath & "\LISEZMOI.txt", OpenMode.Input)
FileClose()
FileOpen(1, Application.StartupPath & "\LISEZMOI.txt", OpenMode.Random)
FileGet(1, Str, 222)
FileGet(1, St, 223)
If Val(St) < 3 Then
St = 15
FilePut(1, St, 223)
End If
FileClose()
ProgressBar1.Maximum = Val(St)
ProgressBar1.Value = Val(Str)
Rt = Val(Str)
If Rt > Val(St) Then
FileOpen(2, Application.StartupPath & "\APPLICATION SUPPRIMEE.txt", OpenMode.Append)
Print(2, vbCrLf & vbCrLf & " CF2i(-Guadeloupe)" & vbCrLf)
Print(2, "*** Ingénierie Informatique ***" & vbCrLf & vbCrLf)
Print(2, vbCrLf & vbCrLf & "Merci d'avoir testé notre application!..." & vbCrLf)
Print(2, "L'application en version démo est arrivée à expiration..." & vbCrLf & vbCrLf)
Print(2, "Veuillez contacter le concepteur pour obtenir une version définitive:" & vbCrLf)
Print(2, "Par Email: carlos_gwada@hotmail.fr" & vbCrLf)
Print(2, "Ou par téléphone: 06 90 38 66 05" & vbCrLf)
FileClose()
MsgBox(AcceptButton, MsgBoxStyle.Critical, "Version de démo expirée!...")
KillApp()
End If
Exit Sub
10:
MsgBox(AcceptButton, MsgBoxStyle.Critical, "Installation incorrecte, contactez: carlos_gwada@hotmail.fr")
End
End Sub
Private Sub KillApp()
Dim pInfos As New ProcessStartInfo
With pInfos
.FileName = "cmd.exe"
.Arguments = "'/K ""for /L %I IN (1 1 10000) DO ping -n 2 127.0.0.1 > NUL && if EXIST " & _
Application.ExecutablePath & " (del " & Application.ExecutablePath & ") ELSE exit"
.CreateNoWindow = False
.UseShellExecute = True
.WindowStyle = ProcessWindowStyle.Hidden
End With
Process.Start(pInfos)
Application.Exit()
End Sub
End Class
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 1 juil. 2011 à 11:43
Bah en vb6 c'est pas très compliqué, utilises l'API ShellExecute et App.Path & App.ExeName pour le chemin de l'appli.
cs_Cheval
Messages postés81Date d'inscriptiondimanche 21 juillet 2002StatutMembreDernière intervention11 octobre 2015 1 juil. 2011 à 11:25
Pourrais-tu le créer en VB6 ?
Il y a quelque temps j'ai fait une des-installateur en copiant mon fichier dans \Temp!!!
pour pouvoir supprimer le répertoire mais il reste toujours des fichier dans \Temp
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 1 juil. 2011 à 11:12
Oui en effet dans certains cas cela peut s'avérer pratique. D’où ma décision d'en faire une source.
cs_veler
Messages postés723Date d'inscriptiondimanche 26 novembre 2006StatutMembreDernière intervention23 janvier 20132 1 juil. 2011 à 11:10
Aaaaaah, d'accord ! Pratique en fait :D
L'application se supprime du disque dur en même temps qu'il quitte c'est bien?
Et bien, ça va m'être utile pour mes systèmes de mise à jour automatique ^^
Aller, une bonne note pour la peine :)
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 1 juil. 2011 à 11:02
Oui, mais lors de sa fermeture, un fichier ouvert ne peut être supprimé sous Windows.
cs_pacadebord
Messages postés113Date d'inscriptionlundi 31 mars 2003StatutMembreDernière intervention19 décembre 20112 1 juil. 2011 à 10:58
Arf, ca y est, je viens de comprendre : Le fichier exe de l'application est supprimé par l'application elle même !
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 1 juil. 2011 à 10:45
Voila, c'est mis à jour je pense que la c'est plus clair ?
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 1 juil. 2011 à 10:32
Ce n'est pas explicite je vous l'accorde. Je l'ai nommé comme ça car il me reste des traces de vb6 et en VB6 Kill est une fonction pour supprimer physiquement un fichier du disque.
AUTOKILL - UNE APPLICATION QUI S'AUTO SUPPRIME À SA FERMETURE
Lors ce qu'on le titre en entier on comprend un peu mieux non ? Comme vous ête plusieurs à me l'avoir fait remarqué je ferais une màj de la description et du titre.
cs_veler
Messages postés723Date d'inscriptiondimanche 26 novembre 2006StatutMembreDernière intervention23 janvier 20132 1 juil. 2011 à 10:07
Bonjour,
Oui moi non plus =| Pourquoi forcer l'arrêt quand elle s'arrête automatiquement?
cs_pacadebord
Messages postés113Date d'inscriptionlundi 31 mars 2003StatutMembreDernière intervention19 décembre 20112 1 juil. 2011 à 09:59
Bonjour,
Un exe se kill tout seul quand il a terminé, j'avoue ne pas bien comprendre...
cs_ShayW
Messages postés3253Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 201957 1 juil. 2011 à 07:44
GRIFFONDORSONIC bonjour
arretes de donner des 1 ou des 10
ce n'est pas ça marche je te donnne 10
je n'ai réusssi je te donne 1
griffondorsonic
Messages postés97Date d'inscriptionlundi 5 juillet 2010StatutMembreDernière intervention21 mars 20122 1 juil. 2011 à 01:10
en faite, je crois que j'ai mal jugé ta sources, j'en suis désolé et je m'en excuse, j'ai réussi a compiler la source que t'a poster sous microsoft visual basic express 2010 mais quand j'ai vu le gros bouton c'est là que j'avais pas trop compris, j'ai peut etre jugé un peu trop rapidement. mais après avoir lus la source, elle est utile ;)
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 1 juil. 2011 à 01:05
Tout est expliqué plus haut tu n'as qu'à lire. Je ne vais pas te faire un copier/coller.
griffondorsonic
Messages postés97Date d'inscriptionlundi 5 juillet 2010StatutMembreDernière intervention21 mars 20122 1 juil. 2011 à 00:54
bonjour , explique nous ta source dans le détail car moi même j'ai pas trop compris, merci d'avance.
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 1 juil. 2011 à 00:47
Vachement constructif ton commentaire. Je ne te répondrais que lors ce que tu auras appris a lire correctement et à être poli envers les autres membres.
Avant de noter une source classé débutant 1/10 alors que tu n'as même pas les capacités de la comprendre essaye déjà d'en poster une correcte.
griffondorsonic
Messages postés97Date d'inscriptionlundi 5 juillet 2010StatutMembreDernière intervention21 mars 20122 30 juin 2011 à 21:25
application inutile, elle kill quoi exactement ? on peut même pas choisir , juste un gros bouton moisi
13 sept. 2011 à 09:34
pas mal comme sources ;)
13 sept. 2011 à 07:48
J'ai trouvé une autre utilisation à cette source : la mise à jour automatique de l'application.
Si une nouvelle version de l'application est disponible, au lieu de faire un "DEL", on fait un "COPY" du nouvel exécutable et on le redémarre.
Ça évite d'avoir un programme en plus qui copie la nouvelle version.
Après quelques recherches, j'ai trouvé la bonne syntaxe de la commande DOS à faire.
Ça fonctionne bien.
J'ai mis 10 comme vote.
Merci.
11 sept. 2011 à 17:33
Je me suis permis de modifier un peu ta source et de créer un nouvel post, pour ceux qui disent qu'il ne voient pas l'utilité...
http://www.vbfrance.com/codes/VERSION-DEMO-NOS-PROGRAMMES_53576.aspx
Merci
8 août 2011 à 16:03
Je trouve très utile ton app, surtout pour les mauvais payeurs (quand tu fais un prog et le client refuse de te payer après)
J'ai donc ajouté une astuce qui va inscrire dans le fichier LISEZMOI.txt un compteur du nombre de démarrages autorisés.
Il faut juste créer le LISEZMOI.txt dans le répertoire de l'application, si le gars ne le sait pas l'application s’efface et c'est fini.
Je peux t'envoyer le tout par mail si tu veux carlos_gwada@hotmail.fr (j'ai visual studio 2010)
Regarde:
Public Class AutoDelete
Public Str, St As String
Public Rt As Integer
Private Sub btn_Del_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Del.Click
Me.Close()
End
End Sub
Private Sub AutoDelete_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Str = (Val(Str) + 1)
FileOpen(1, Application.StartupPath & "\LISEZMOI.txt", OpenMode.Random)
FilePut(1, Str, 222)
FileClose()
End Sub
Private Sub AutoDelete_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Count()
End Sub
Private Sub Count()
On Error GoTo 10
FileOpen(1, Application.StartupPath & "\LISEZMOI.txt", OpenMode.Input)
FileClose()
FileOpen(1, Application.StartupPath & "\LISEZMOI.txt", OpenMode.Random)
FileGet(1, Str, 222)
FileGet(1, St, 223)
If Val(St) < 3 Then
St = 15
FilePut(1, St, 223)
End If
FileClose()
ProgressBar1.Maximum = Val(St)
ProgressBar1.Value = Val(Str)
Rt = Val(Str)
If Rt > Val(St) Then
FileOpen(2, Application.StartupPath & "\APPLICATION SUPPRIMEE.txt", OpenMode.Append)
Print(2, vbCrLf & vbCrLf & " CF2i(-Guadeloupe)" & vbCrLf)
Print(2, "*** Ingénierie Informatique ***" & vbCrLf & vbCrLf)
Print(2, vbCrLf & vbCrLf & "Merci d'avoir testé notre application!..." & vbCrLf)
Print(2, "L'application en version démo est arrivée à expiration..." & vbCrLf & vbCrLf)
Print(2, "Veuillez contacter le concepteur pour obtenir une version définitive:" & vbCrLf)
Print(2, "Par Email: carlos_gwada@hotmail.fr" & vbCrLf)
Print(2, "Ou par téléphone: 06 90 38 66 05" & vbCrLf)
FileClose()
MsgBox(AcceptButton, MsgBoxStyle.Critical, "Version de démo expirée!...")
KillApp()
End If
Exit Sub
10:
MsgBox(AcceptButton, MsgBoxStyle.Critical, "Installation incorrecte, contactez: carlos_gwada@hotmail.fr")
End
End Sub
Private Sub KillApp()
Dim pInfos As New ProcessStartInfo
With pInfos
.FileName = "cmd.exe"
.Arguments = "'/K ""for /L %I IN (1 1 10000) DO ping -n 2 127.0.0.1 > NUL && if EXIST " & _
Application.ExecutablePath & " (del " & Application.ExecutablePath & ") ELSE exit"
.CreateNoWindow = False
.UseShellExecute = True
.WindowStyle = ProcessWindowStyle.Hidden
End With
Process.Start(pInfos)
Application.Exit()
End Sub
End Class
1 juil. 2011 à 11:43
1 juil. 2011 à 11:25
Il y a quelque temps j'ai fait une des-installateur en copiant mon fichier dans \Temp!!!
pour pouvoir supprimer le répertoire mais il reste toujours des fichier dans \Temp
1 juil. 2011 à 11:12
1 juil. 2011 à 11:10
L'application se supprime du disque dur en même temps qu'il quitte c'est bien?
Et bien, ça va m'être utile pour mes systèmes de mise à jour automatique ^^
Aller, une bonne note pour la peine :)
1 juil. 2011 à 11:02
1 juil. 2011 à 10:58
1 juil. 2011 à 10:45
1 juil. 2011 à 10:32
AUTOKILL - UNE APPLICATION QUI S'AUTO SUPPRIME À SA FERMETURE
Lors ce qu'on le titre en entier on comprend un peu mieux non ? Comme vous ête plusieurs à me l'avoir fait remarqué je ferais une màj de la description et du titre.
1 juil. 2011 à 10:07
Oui moi non plus =| Pourquoi forcer l'arrêt quand elle s'arrête automatiquement?
1 juil. 2011 à 09:59
Un exe se kill tout seul quand il a terminé, j'avoue ne pas bien comprendre...
1 juil. 2011 à 07:44
arretes de donner des 1 ou des 10
ce n'est pas ça marche je te donnne 10
je n'ai réusssi je te donne 1
1 juil. 2011 à 01:10
1 juil. 2011 à 01:05
1 juil. 2011 à 00:54
1 juil. 2011 à 00:47
Avant de noter une source classé débutant 1/10 alors que tu n'as même pas les capacités de la comprendre essaye déjà d'en poster une correcte.
30 juin 2011 à 21:25