FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Aujourd'hui à 16:52

» KGF_dll - nouvelles versions
par Klaus Aujourd'hui à 14:16

» Compilateur FBPano
par Ouf_ca_passe Aujourd'hui à 12:25

» mise a jour calculatrice
par papydall Aujourd'hui à 2:01

» double guillemets "" dans un EDIT
par Marc Hier à 23:43

» Documentation de KGF
par Klaus Lun 20 Nov 2017 - 22:52

» Zoom sur une portion d'écran
par JL35 Lun 20 Nov 2017 - 21:51

» Recherche d'une expression dans un source
par Marc Lun 20 Nov 2017 - 13:08

» Tracer une grille n'importe où sur l'écran
par JL35 Dim 19 Nov 2017 - 22:14

» TourD Version 2
par Klaus Sam 18 Nov 2017 - 23:58

» La métamatière et le peuple
par JL35 Ven 17 Nov 2017 - 21:18

» Capture d'une zone de l'écran total
par JL35 Ven 17 Nov 2017 - 18:41

» qui peut résoudre mon prb
par pascal10000 Jeu 16 Nov 2017 - 17:30

» évènements et objets système : listage automatique
par Jean Claude Jeu 16 Nov 2017 - 11:15

» Panoramic et la reconnaissance vocale.
par papydall Jeu 16 Nov 2017 - 3:45

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2017
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
27282930   
CalendrierCalendrier

Partagez | 
 

 Une autre façon de terminer une application.

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
papydall

avatar

Nombre de messages : 5594
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Une autre façon de terminer une application.   Dim 16 Juil 2017 - 3:53

Code:

rem ============================================================================
rem                        FatalAppExit
rem ============================================================================
rem  Une autre façon de terminer une application
rem  Affiche un message et termine l’application quand on ferme la boite
rem ============================================================================
FatalAppExit()
end
SUB FatalAppExit()
    dim_local ret%  
    dll_on "kernel32"
    ret% = dll_call2("FatalAppExitA",0,0)
    dll_off
END_SUB
rem ============================================================================    
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
JL35



Nombre de messages : 5992
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Une autre façon de terminer une application.   Dim 20 Aoû 2017 - 18:26

J'ai un problème avec une application qui ne veut pas se terminer proprement, et je ne vois pas du tout pourquoi (pas de timer, pas de manoeuvres scabreuses...)
Je clique sur la croix de fermeture qui m'amène directement (ON_CLOSE) sur un TERMINATE, et j'ai systématiquement ceci:
PANORAMIC.exe a cessé de fonctionner ...
... Fermer le programme

je clique et: Runtime error 217 at 004027FC

J'ai essayé ta méthode qui marche très bien.
Inconvénient pour moi (et pour l'utilisateur tiers éventuel): ça affiche un message d'erreur qu'il faut acquitter.

Il y a moyen de tuer le processus et de quitter discrètement le programme:
Code:
Quit:
  dll_on "kernel32"
      i% = dll_call1("ExitProcess",0)
  dll_off
  TERMINATE
Le dll_off et le Terminate sont là pour la forme, mais ils ne servent plus à rien, on ne revient pas de la dll.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5594
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Une autre façon de terminer une application.   Dim 20 Aoû 2017 - 19:37

... et encore une autre façon .... sans rien acquitter !

Code:

label quit
dim ret%
button 10 : caption 10,"quitter" : on_click 10,quit
end

Quit:
  dll_on "user32"
      ret% = dll_call4("PostMessageA",handle(0),16,0,0)
  dll_off

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
papydall

avatar

Nombre de messages : 5594
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Une autre façon de terminer une application.   Dim 20 Aoû 2017 - 20:14

Vous trouverez sur mon webdav un fichier Kill.exe (compilé à partir d’un source Delphi).
Il permet de tuer n’importe quelle application récalcitrante.
J’en ai créé un raccourci que j’ai épinglé dans la barre de tâche pour être facilement accessible.
Ça me rend bien de services quand j’en ai besoin.




Utilisation :

Positionner le viseur sur le programme à tuer (son nom s'affichera en jaune sur la fenêtre) puis cliquer sur Kill




Voici le code en Delphi si ça vous intéresse.

Code Delphi:
 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
papydall

avatar

Nombre de messages : 5594
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Une autre façon de terminer une application.   Dim 20 Aoû 2017 - 20:51

... Et une autre ...

Code:

label quit
dim ret%
button 10 : caption 10,"quitter" : on_click 10,quit
end

Quit:
  dll_on "user32"
  ret% = dll_call1("PostQuitMessage",0)
  dll_off
return : ' Peut être omis
  

Et encore ...

Code:

label quit
dim ret%
button 10 : caption 10,"quitter" : on_click 10,quit
end

Quit:
  dll_on "kernel32"
  ret% = dll_call1("ExitThread",0)
  dll_off
return : ' Peut être omis

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
JL35



Nombre de messages : 5992
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Une autre façon de terminer une application.   Dim 20 Aoû 2017 - 21:37

Bonsoir papydall,

Pour moi je n'ai pas fait aussi sophistiqué, mais ce qui suit me convient:
J'ai mis un raccourci vers Task Manager sur le bureau
C:\Windows\System32\taskmgr.exe
ça m'affiche les tâches en cours, je clique droit sur celle que je veux tuer, 'Arrêter le processus', et c'est radical, sans bavure.
Et j'ai de temps en temps l'occasion de m'en servir !
(ça permet aussi de voir quelles sont les tâches actives en cours).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Francis-mr



Nombre de messages : 162
Age : 65
Localisation : Corrèze
Date d'inscription : 26/11/2012

MessageSujet: Re: Une autre façon de terminer une application.   Lun 21 Aoû 2017 - 12:07

Bonjour
On peut aussi lancer taskmgr.exe avec les touches Ctrl + Shift + Esc
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://cfmr.e-monsite.com
JL35



Nombre de messages : 5992
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Une autre façon de terminer une application.   Lun 21 Aoû 2017 - 18:23

Exact. Encore faut-il s'en souvenir au moment où on en a besoin !
Tiens, un petit aide-mémoire des raccourcis clavier (sans doute non exhaustif):
Code:
' Raccourcis clavier
DIM a$,b$,r$,i%,j%,k%,y%,n%,hl%,wl%,c%,ca$(10,30),nb%(10)
DATA "1","- Généraux, touches :"
DATA "Alt/F4: Fermer l'application en cours"
DATA "Ctrl/C: Copier la sélection dans le presse-papier"
DATA "Ctrl/X: Déplacer la sélection vers le presse-papier"
DATA "Ctrl/V: Coller le presse-papier au curseur"
DATA "Ctrl/Z: Annuler"
DATA "Ctrl/Y: Rétablir"
DATA "Ctrl/A: Tout sélectionner"
DATA "Ctrl/P: Imprimer"
DATA "Ctrl/Esc: Afficher le menu démarrer"
DATA "Ctrl/Maj/i: indenter la sélection (8 espaces)"
DATA "Ctrl/Maj/u: désindenter la sélection de 8 espaces"
DATA "Alt/Tab: Fenêtre précédente (en cascade)"
DATA "Alt/Esc: Parcourir les fenêtres ouvertes"
DATA "F1: Afficher l'aide"
DATA "F3: Recherche de fichiers"
DATA "Ctrl/Maj/Esc: Affiche gestionnaire de tâches (taskmgr)"
DATA "Ctrl/Alt/Sup: Gestionnaire de tâches"
DATA "Ctrl/clic: Sélectionner plusieurs éléments"
DATA "Shift/clic: Sélectionner tous entre deux clics"
DATA "Alt/Maj: Repasser le clavier en français"
DATA "Maj/Suppr: Suppression définitive fichier ou dossier"

DATA "2","- Touche Windows +"
DATA "(seule): Ouvrir le menu Démarrer"
DATA "E: Ouvrir l'explorateur"
DATA "D: Afficher le bureau (en bascule)"
DATA "F: Ouvrir 'Rechercher'"
DATA "R: Exécuter une application"
DATA "U: Ouvrir le Gestionnaire d'utilitaires"
DATA "L: Verrouiller le pc"
DATA "P: Mode d'affichage"
DATA "Pause: Propriétés système"
DATA "Maj/clic: Nouvelle instance d'un programme"
DATA "Ctrl/F: Recherche ordinateur sur réseau"

DATA "3","- Divers Windows (fl.=flèche) :"
DATA "Ctrl/roulette: Zoomer/dézoomer"
DATA "Ctrl/fl.g/d: Curseur au début du mot"
DATA "Shift/fl.g/d: Sélection texte"
DATA "Ctrl/Shift/fl.g/d: Sélection mot entier"
DATA "Ctrl/Backspace: Supprimer un mot entier"
DATA "Ctrl/F4: Fermer une fenêtre (ou un pc)"
DATA "Ctrl/Maj/clic: Ouvrir en tant qu'administrateur"

DATA "4","- Gestion des fenêtres :"
DATA "Alt/Tab: Passer d'une fenêtre à l'autre"
DATA "Alt/Shift/Tab: Idem, en ordre inverse"
DATA "Windows/Tab: Comme Alt/Tab"
DATA "Windows/D: Masquer toutes les fenêtres (bascule)"
DATA "Windows/fl.b: Rétrécir la fenêtre"
DATA "Windows/fl.h: Agrandir la fenêtre"
DATA "Windows/fl.g: Fenêtre à gauche de l'écran"
DATA "Windows/fl.d: Fenêtre à droite de l'écran"
DATA "Ctrl/N: Ouvrir une nouvelle fenêtre"
DATA "F5 ou Ctrl/R: Actualiser la fenêtre active"

DATA "5","- Explorateur :"
DATA "Alt/Entr: Propriétés de l'élément sélectionné"
DATA "Suppr: Supprimer l'élément sélectionné"
DATA "Maj/Suppr: Supprimer définitivement l'élément"
DATA "F2: Renommer l'élément sélectionné"
DATA "F"

READ a$
WHILE a$ <> "F"
    c% = VAL(a$): READ a$: ca$(c%,0) = a$: ' nouvelle catégorie
    n% = 0
    READ a$
    WHILE LEN(a$)>1
        n% = n%+1: ca$(c%,n%) = a$: READ a$
    END_WHILE
    nb%(c%) = n%: ' nb 'éléments
END_WHILE

WIDTH 0,420: HEIGHT 0,440: BORDER_SMALL 0: CAPTION 0,STRING$(30," ")+"-   RACCOURCIS   CLAVIER   -"
COLOR 0,196,255,255: FONT_NAME 0,"Consolas": FONT_SIZE 0,10

hl% = 16: ' hauteur d'une ligne de Memo
y% = 0: wl% = WIDTH_CLIENT(0)
n% = 10
FOR j% = 1 TO c%
    n%=n%+1: ALPHA n%: TOP n%,y%: FONT_BOLD n%: CAPTION n%,ca$(j%,0)
    y%=y%+15
    n%=n%+1: LIST n%: TOP n%,y%: WIDTH n%,wl%: HEIGHT n%,nb%(j%)*hl%
             COLOR n%,255,255,180
    FOR i% = 1 TO nb%(j%)
        a$ = ca$(j%,i%): k% = INSTR(a$,":"): b$ = LEFT$(a$,k%-1)
        IF k%<=12 THEN b$ = b$+STRING$(12-LEN(b$)," ")
        ITEM_ADD n%,b$+" "+RIGHT_POS$(a$,k%+2)
    NEXT i%
    y% = y%+HEIGHT(n%)
NEXT j%
HEIGHT 0,y%+55
END

Et... pardon papydall pour la pollution silent
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
pascal10000

avatar

Nombre de messages : 549
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Une autre façon de terminer une application.   Lun 21 Aoû 2017 - 19:47


Encore une autre touche qui peut servir

la touche "impercr/Syst" à coté de F12
qui sert a copier l'espace du bureau
et de coller a paint ou autre logiciel de retouche
de photo
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 5992
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Une autre façon de terminer une application.   Lun 21 Aoû 2017 - 20:33

Celle-ci, tout de même, tout le monde la connaît !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5594
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Une autre façon de terminer une application.   Lun 21 Aoû 2017 - 23:43

Citation :
Celle-ci, tout de même, tout le monde la connaît !

Par contre, je parie un programme de 100 lignes de code contre 10 lignes que tu ne connais pas au moins une de combinaisons suivantes !

* Agrandir ou réduire la fenêtre active : F11
* Afficher et masquer le bureau : Win + D
* Réduire toutes les fenêtres : Win + M
* Afficher la boîte de dialogue Propriétés système : Win + Pause/Break
* Effectuer un zoom avant ou arrière à l'aide de la Loupe : Win + plus (+) ou moins (-)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
JL35



Nombre de messages : 5992
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Une autre façon de terminer une application.   Lun 21 Aoû 2017 - 23:51

T'as gagné haut la main papydall, il en manquait 3 à ma collection, je les rajoute.
Ça fera moins de 10 lignes, mais bon...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5594
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Une autre façon de terminer une application.   Lun 21 Aoû 2017 - 23:56

Afficher un aperçu du bureau. : Win + Espace
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
JL35



Nombre de messages : 5992
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Une autre façon de terminer une application.   Mar 22 Aoû 2017 - 0:06

Ta dernière: Windows/Espace est inopérante chez moi...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5594
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Une autre façon de terminer une application.   Mar 22 Aoû 2017 - 0:34

Sous W7, Win + Espace   ( sans lâcher la touche Win )

EDIT:  cliquez !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
JL35



Nombre de messages : 5992
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Une autre façon de terminer une application.   Mar 22 Aoû 2017 - 14:27

Je confirme, sous Windows 7:
Touche Win + barre d'espace (sans lâcher la touche Win) = Rien du tout, que dalle, que nib !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Une autre façon de terminer une application.   

Revenir en haut Aller en bas
 
Une autre façon de terminer une application.
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Un autre mystère
» Comment faire un lien vers une autre page du site ?
» mettre à l'heure d'un autre pays
» application: executer - regedit
» Comment faire un lien vers un autre site?

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: