FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Un exécutable qui s'auto-èdétruit Emptypar Pedro Aujourd'hui à 7:08

» Un autre pense-bête...
Un exécutable qui s'auto-èdétruit Emptypar Froggy One Jeu 21 Nov 2024 - 14:54

» Récupération du contenu d'une page html.
Un exécutable qui s'auto-èdétruit Emptypar Pedro Sam 16 Nov 2024 - 13:04

» Décompilation
Un exécutable qui s'auto-èdétruit Emptypar JL35 Mar 12 Nov 2024 - 18:57

» Un album photos comme du temps des grands-mères
Un exécutable qui s'auto-èdétruit Emptypar jjn4 Mar 12 Nov 2024 - 16:23

» traitement d'une feuille excel
Un exécutable qui s'auto-èdétruit Emptypar jjn4 Jeu 7 Nov 2024 - 2:52

» Aide-mémoire mensuel
Un exécutable qui s'auto-èdétruit Emptypar jjn4 Lun 4 Nov 2024 - 17:56

» Des incomprèhension avec Timer
Un exécutable qui s'auto-èdétruit Emptypar Klaus Mer 30 Oct 2024 - 17:26

» KGF_dll - nouvelles versions
Un exécutable qui s'auto-èdétruit Emptypar Klaus Mar 29 Oct 2024 - 16:58

» instructions panoramic
Un exécutable qui s'auto-èdétruit Emptypar maelilou Lun 28 Oct 2024 - 18:51

» Figures fractales
Un exécutable qui s'auto-èdétruit Emptypar Marc Ven 25 Oct 2024 - 10:18

» Panoramic et Scanette
Un exécutable qui s'auto-èdétruit Emptypar Yannick Mer 25 Sep 2024 - 20:16

» Editeur d étiquette avec QR évolutif
Un exécutable qui s'auto-èdétruit Emptypar JL35 Lun 23 Sep 2024 - 20:40

» BUG QR Code DelphiZXingQRCode
Un exécutable qui s'auto-èdétruit Emptypar Yannick Dim 22 Sep 2024 - 9:40

» fichier.exe
Un exécutable qui s'auto-èdétruit Emptypar leclode Ven 20 Sep 2024 - 17:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-55%
Le deal à ne pas rater :
Friteuse sans huile – PHILIPS – Airfryer HD9200/90 Série 3000
49.99 € 109.99 €
Voir le deal

 

 Un exécutable qui s'auto-èdétruit

Aller en bas 
3 participants
AuteurMessage
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Un exécutable qui s'auto-èdétruit Empty
MessageSujet: Un exécutable qui s'auto-èdétruit   Un exécutable qui s'auto-èdétruit EmptyLun 7 Juil 2014 - 7:47

Comment faire pour qu'un exécutable arrive à supprimer son propre fichier exe ? La commende FILE_DELETE ne marche pas, car le fichier est toujours ouvert tant que l'exécutable est en route !

Alors, la petite astuce suivante résout le problème:
Code:
' Ce programme montre comment un programme Panoramic
' peut s'auto-détruire.

label quitter

dim gm$, dossier$, cmd$
gm$ = chr$(34)

dlist 2

dossier$ = file_extract_path$(param_value$(0))

item_add 2,"cd "+gm$+dossier$+gm$
item_add 2,":Repeat"
item_add 2,"del "+gm$+param_value$(0)+gm$
item_add 2,"if exist "+gm$+param_value$(0)+gm$+" goto Repeat"
item_add 2,"del "+gm$+dossier$+"temp.bat"+gm$

button 1 : top 1,10 : left 1,10 : width 1,200
  on_click 1,quitter : caption 1,"Quitter et supprimer"

end

quitter:
  file_save 2,dossier$ + "temp.bat"
  cmd$ = "cmd /c @temp.bat"
  execute cmd$
  terminate
 

Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Un exécutable qui s'auto-èdétruit Empty
MessageSujet: Re: Un exécutable qui s'auto-èdétruit   Un exécutable qui s'auto-èdétruit EmptyLun 7 Juil 2014 - 8:17

Astuce excellente à mon avis, ça pourrait être ajouté dans les procédures utiles sur le site du journal...
Ca ne sert certe que pour des cas précis (après une installation, par exemple), mais dans certains cas, ça donne une solution qu'il n'est pas du tout évident de trouver tout seul ...
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Un exécutable qui s'auto-èdétruit Empty
MessageSujet: re   Un exécutable qui s'auto-èdétruit EmptyLun 7 Juil 2014 - 11:22

@ Klaus,

Excellente astuce !
Mais pourrais tu commenter pour que l' on sache qui fait quoi ?...
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Un exécutable qui s'auto-èdétruit Empty
MessageSujet: Re: Un exécutable qui s'auto-èdétruit   Un exécutable qui s'auto-èdétruit EmptyLun 7 Juil 2014 - 15:45

Voici une version commentée du programme:
Code:
' Ce programme montre comment un programme Panoramic
' peut s'auto-détruire.

' procédure exécutée pour quitter le programme en supprimant l'exécutable
label quitter

dim gm$ : gm$ = chr$(34) : ' guillemets
dim dossier$, cmd$

' utilisé pour construire le fichier temp.bat qui fait le travail
dlist 2

' extraire le dossier à partir du nom de l'exécutable
dossier$ = file_extract_path$(param_value$(0))

' construire le texte du fichier temp.bat:
' changer pour le dossier dans lequel se trouve l'exécutable
item_add 2,"cd "+gm$+dossier$+gm$
' label pour la boucle de suppression
item_add 2,":Repeat"
' tentative de suppression de l'excutable
item_add 2,"del "+gm$+param_value$(0)+gm$
' si la suppression a échoué, on reboucle sur le label
item_add 2,"if exist "+gm$+param_value$(0)+gm$+" goto Repeat"
' supprimer ce fichier temp.bat
item_add 2,"del "+gm$+dossier$+"temp.bat"+gm$

button 1 : top 1,10 : left 1,10 : width 1,200
  on_click 1,quitter : caption 1,"Quitter et supprimer"

end

quitter:
  ' créer le fichier temp.bat avec la procédure ci-dessus
  file_save 2,dossier$ + "temp.bat"
  ' construire la ligne de commande à l'intention de la commande EXECUTE
  cmd$ = "cmd /c @temp.bat"
  ' exécuter le fichier temp.bat
  execute cmd$
  ' et arrêter le programme
  terminate

' lorsque le programme sera arrêté, le fichier temp.bat déjà en exécution
' pourra supprimer l'exécutable Panoramic. Et ensuit, il s'auto-detruit.
' Et ceci est une particularité des fichiers *.BAT: ils peuvent s'auto-détruire.
' Ceci est certainement dû au fait que son contenu est lu en mémoire et
' géré en mémoire, sans rester ouvert pendant toute l'exécution du fichier BAT.
' Et c'est ce qui permet de réaliser cette astuce.

Ceci peut être utile pour un programme d'installation ou de mise à jour. Imagine in programme nommé INSTALLER_MON_APPLICATION.exe qui installe ton application, avec tout ce qu'il faut faire; création de dossiers, copies de fichiers, etc. Puis, ce programme d'installation s'auto-detruit, par sécurité.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Un exécutable qui s'auto-èdétruit Empty
MessageSujet: re   Un exécutable qui s'auto-èdétruit EmptyLun 7 Juil 2014 - 16:08

@ Klaus,

Merci pour les commentaires qui vont aider à comprendre le schmilblick. Laughing 

L' installation d' un logiciel est bien l' utilité que je voyais à cette astuce.
Je n' irais pas jusque à parler de sécurité mais plutôt de gain de mémoire.
 Laughing 
Revenir en haut Aller en bas
Contenu sponsorisé





Un exécutable qui s'auto-èdétruit Empty
MessageSujet: Re: Un exécutable qui s'auto-èdétruit   Un exécutable qui s'auto-èdétruit Empty

Revenir en haut Aller en bas
 
Un exécutable qui s'auto-èdétruit
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» crééer un exécutable
» Chemin de l'exécutable
» Les images avec l'exécutable
» Problème de création d'exécutable.
» Exécutable moins volumineux

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: