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
» Une calculatrice en une ligne de programme
Fermer un programme externe à PANORAMIC Emptypar jean_debord Aujourd'hui à 6:47

» Form(résolu)
Fermer un programme externe à PANORAMIC Emptypar leclode Hier à 15:59

» trop de fichiers en cours
Fermer un programme externe à PANORAMIC Emptypar Marc Hier à 9:42

» Bataille navale SM
Fermer un programme externe à PANORAMIC Emptypar jjn4 Ven 26 Avr 2024 - 15:39

» Gestion d'un système client-serveur.
Fermer un programme externe à PANORAMIC Emptypar Pedro Jeu 25 Avr 2024 - 17:31

» Les maths du crocodile
Fermer un programme externe à PANORAMIC Emptypar jean_debord Jeu 25 Avr 2024 - 8:37

» Naissance de Crocodile Basic
Fermer un programme externe à PANORAMIC Emptypar jean_debord Jeu 25 Avr 2024 - 6:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Fermer un programme externe à PANORAMIC Emptypar Froggy One Mer 24 Avr 2024 - 16:38

» Dessine-moi une galaxie
Fermer un programme externe à PANORAMIC Emptypar jjn4 Lun 22 Avr 2024 - 11:47

» Erreur END_SUB
Fermer un programme externe à PANORAMIC Emptypar jjn4 Lun 22 Avr 2024 - 11:43

» Bug sur DIM_LOCAL ?
Fermer un programme externe à PANORAMIC Emptypar papydall Dim 21 Avr 2024 - 21:30

» 2D_fill_color(résolu)
Fermer un programme externe à PANORAMIC Emptypar leclode Sam 20 Avr 2024 - 6:32

» Consommation gaz électricité
Fermer un programme externe à PANORAMIC Emptypar leclode Mer 17 Avr 2024 - 9:07

» on_key_down (résolu)
Fermer un programme externe à PANORAMIC Emptypar leclode Mar 16 Avr 2024 - 9:01

» Sous-programme(résolu)
Fermer un programme externe à PANORAMIC Emptypar jjn4 Jeu 4 Avr 2024 - 12:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
-45%
Le deal à ne pas rater :
WHIRLPOOL OWFC3C26X – Lave-vaisselle pose libre 14 couverts – ...
339 € 622 €
Voir le deal

 

 Fermer un programme externe à PANORAMIC

Aller en bas 
+2
Marc
papydall
6 participants
AuteurMessage
papydall

papydall


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

Fermer un programme externe à PANORAMIC Empty
MessageSujet: Fermer un programme externe à PANORAMIC   Fermer un programme externe à PANORAMIC EmptyLun 11 Avr 2016 - 13:12

Tout est dans le titre et bien expliqué dans le code.
Servez-vous. king


Code:

rem ============================================================================
rem            Fermer un programme externe à PANORAMIC
rem ============================================================================
rem Pour fermer un programme, il suffit d envoyer le message WM_CLOSE à sa
rem fenêtre principale.
rem Tout d abord, on détermine le handle de la fenêtre du programme qu on désire
rem fermer.
rem Pour cela, on dispose de la fonction HANDLE_FORM() de Panoramic à laquelle
rem on transmettra le titre de la fenêtre en question.
rem Ensuite on envoie le message WM_CLOSE
rem ============================================================================
rem Comme exemple, on va tester notre SUB sur la calculatrice(calc.exe) puis sur
rem Notepad++.
rem (Vous pouvez bien sûr choisir un autre programme)
rem Lancez une instance de la calculatrice (calc.exe)
rem Observez que la barre de titre de la fenêtre est "calculatrice".
rem C est ce texte qu on va transmettre à la fonction HANDLE_FORM() pour
rem déterminer le handle de la fenêtre.
rem Si la fenêtre est trouvée (son handle est <> 0), on lui envoie le message
rem WM_CLOSE qui est tout simplement un code : 10 en hexa
rem La fenêtre de l application sera fermée
rem ============================================================================
rem Pour info :
rem On a utilisé la fonction "PosteMessageA" qui est asynchrone.
rem Son rôle est simplement de placer le message dans la queue des messages à
rem traiter et retourne immédiatement.
rem Elle ne se préoccupe donc pas de savoir si le message a été correctement traité.
rem ============================================================================
Close_Form("Calculatrice")
Close_Form("new 1 - Notepad++")
end
rem ============================================================================
SUB Close_Form(titre$)
    dim_local hWnd,WM_CLOSE,ret%
    WM_CLOSE = hex("10")
    dll_on "user32"
    hWnd = handle_form(titre$)
    if hWnd <> 0
       ret% = dll_call4("PostMessageA",hWnd,WM_CLOSE,0,0)
       if ret% = 1
          message "La fenêtre de : " + titre$ + " a été fermée"
       else
          message "ERREUR dans la fonction !!!"
       end_if
    else
       message "Impossible de trouver la fenêtre !"
    end_if
    dll_off
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Marc

Marc


Nombre de messages : 2380
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Fermer un programme externe à PANORAMIC Empty
MessageSujet: Re: Fermer un programme externe à PANORAMIC   Fermer un programme externe à PANORAMIC EmptyLun 11 Avr 2016 - 15:15

Testé !
Fonctionne parfaitement !

Merci Papydall !
Revenir en haut Aller en bas
papydall

papydall


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

Fermer un programme externe à PANORAMIC Empty
MessageSujet: Re: Fermer un programme externe à PANORAMIC   Fermer un programme externe à PANORAMIC EmptyLun 11 Avr 2016 - 15:31

Merci Mark37 pour le retour sunny
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Fermer un programme externe à PANORAMIC Empty
MessageSujet: Re: Fermer un programme externe à PANORAMIC   Fermer un programme externe à PANORAMIC EmptyLun 11 Avr 2016 - 17:20

Encore un bon truc à savoir !

Merci Papydall.
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Fermer un programme externe à PANORAMIC Empty
MessageSujet: Re: Fermer un programme externe à PANORAMIC   Fermer un programme externe à PANORAMIC EmptyLun 11 Avr 2016 - 17:25

Encore une astuce a mettre de coté !
Au passage je rappelle que la KGF de Klaus le fait aussi très bien. Wink
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
JL35




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

Fermer un programme externe à PANORAMIC Empty
MessageSujet: Re: Fermer un programme externe à PANORAMIC   Fermer un programme externe à PANORAMIC EmptyLun 11 Avr 2016 - 20:19

Je ne sais pas si c'est vraiment le sujet, mais sinon, pour 'tuer' un programme récalcitrant dont on connaît le nom de l'exécutable (ici Prog.exe), il y a toujours la possibilité en ligne de commande de faire:
Code:
EXECUTE_WAIT "cmd.exe /c taskkill.exe /F /IM Prog.exe /T"
Et j'avoue que je l'utilise assez souvent (je me suis même fait un petit utilitaire 'Kill' qui sert à ça).

Je rappelle que pour avoir la liste de tous les exécutables en train de tourner, il faut faire, toujours en ligne de commande:
Code:
tasklist.exe
Revenir en haut Aller en bas
En ligne
papydall

papydall


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

Fermer un programme externe à PANORAMIC Empty
MessageSujet: Re: Fermer un programme externe à PANORAMIC   Fermer un programme externe à PANORAMIC EmptyLun 11 Avr 2016 - 21:05

Jean Claude, Minibug,  merci pour vos retours.

@JL35
Personnellement, j’ai épinglé sur la barre de tâches kill_Panoramic.exe pour le retrouver à porté de main le cas échéant.
Je rappelle ici le code

Code:

rem ============================================================================
rem        "Tuer" Panoramic.exe
rem ============================================================================
rem Il arrive parfois que PANORAMIC.EXE plante pour une raison ou une autre.
rem La SUB Kill_Panoramic_exe() permet de "tuer" toute instance de PANORAMIC.exe
rem REMARQUE :
rem Pour "tuer" un .exe quelconque, il suffit de préciser son nom au lieu de
rem 'Panoramic.exe'
rem Vous pouvez paramétrer la SUB pour cela.
rem ============================================================================
hide 0
Kill_Panoramic_exe()
terminate : end
rem ============================================================================
SUB Kill_Panoramic_exe()
    dim_local scr$,q$
    scr$ = "C:\TEMP\killpano.vbs"
    q$ = chr$(34)
    FILE_OPEN_WRITE 9999,scr$
    FILE_WRITELN 9999,"strComputer = " + q$ +"." +q$
    FILE_WRITELN 9999,"strProcessKill = " + q$ + "'Panoramic.exe'" + q$
    FILE_WRITELN 9999,"Set objWMIService = GetObject(" + q$ + "winmgmts:"+ q$ + " _"
    FILE_WRITELN 9999,"& " + q$ + "{impersonationLevel=impersonate}!\\" + q$ + " & strComputer & " + q$ + "\root\cimv2" + q$ + ")"
    FILE_WRITELN 9999,"Set colProcessList = objWMIService.ExecQuery _"
    FILE_WRITELN 9999,"(" + q$ + "Select * from Win32_Process Where Name = " + q$ + " & strProcessKill )"
    FILE_WRITELN 9999,"For Each objProcess in colProcessList"
    FILE_WRITELN 9999,"objProcess.Terminate()"
    FILE_WRITELN 9999,"Next"
    FILE_WRITELN 9999,"WSCript.Echo " + q$ + "Just killed process " + q$ + " & strProcessKill"
    FILE_WRITELN 9999,"WScript.Quit"

    FILE_CLOSE 9999
    EXECUTE_wait scr$
    FILE_DELETE scr$ : ' La suppression du fichier n'aura pas lieu, puisque "Panoramic.exe" est déjà tué avant d'arriver ici!
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




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

Fermer un programme externe à PANORAMIC Empty
MessageSujet: Re: Fermer un programme externe à PANORAMIC   Fermer un programme externe à PANORAMIC EmptyMar 12 Avr 2016 - 15:49

Et pourquoi pas tout simplement taskkill /F /IM Panoramic.exe ?
Mon kill plus général affiche la liste des tâches en cours (tasklist), et je clique sur la tâche que je veux tuer (ce qui déclenche un taskkill).
Il y a parfois des programmes qui se lancent intempestivement, alors c'est bien pratique.

Je rappelle que pour avoir la liste des programmes qui se lancent automatiquement au démarrage du système, il faut faire en ligne de commande ('Windows' + 'R') msconfig, onglet 'Démarrage'
Revenir en haut Aller en bas
En ligne
papydall

papydall


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

Fermer un programme externe à PANORAMIC Empty
MessageSujet: Re: Fermer un programme externe à PANORAMIC   Fermer un programme externe à PANORAMIC EmptyMar 12 Avr 2016 - 16:25

OK TaskKiller!
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
mindstorm

mindstorm


Nombre de messages : 684
Age : 55
Localisation : charente
Date d'inscription : 13/02/2013

Fermer un programme externe à PANORAMIC Empty
MessageSujet: Re: Fermer un programme externe à PANORAMIC   Fermer un programme externe à PANORAMIC EmptyMar 12 Avr 2016 - 16:44

pour ma part, j'avais une méthode infaillible
JE RALE ET JE TOURNE EN ROND DEVANT L ORDINATEUR
merci pour votre méthode qui a l'air plus efficace
Revenir en haut Aller en bas
papydall

papydall


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

Fermer un programme externe à PANORAMIC Empty
MessageSujet: Re: Fermer un programme externe à PANORAMIC   Fermer un programme externe à PANORAMIC EmptyMar 12 Avr 2016 - 16:56

Citation :
pour ma part, j'avais une méthode infaillible
JE RALE ET JE TOURNE EN ROND DEVANT L ORDINATEUR

Pendant combien de temps ?
- Jusqu'à épuisement de la batterie !!!!
Ce n’est pas un robot déréglé, ça ?

lol! lol! lol! lol!
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
mindstorm

mindstorm


Nombre de messages : 684
Age : 55
Localisation : charente
Date d'inscription : 13/02/2013

Fermer un programme externe à PANORAMIC Empty
MessageSujet: Re: Fermer un programme externe à PANORAMIC   Fermer un programme externe à PANORAMIC EmptyMer 13 Avr 2016 - 17:16

lol!
Revenir en haut Aller en bas
Contenu sponsorisé





Fermer un programme externe à PANORAMIC Empty
MessageSujet: Re: Fermer un programme externe à PANORAMIC   Fermer un programme externe à PANORAMIC Empty

Revenir en haut Aller en bas
 
Fermer un programme externe à PANORAMIC
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» fermer le programme qui lance un autre programme
» ce fut mon 2ème programme en panoramic! (mauvais programme)
» Click sur un objet externe a Panoramic
» fermer une fenetre
» libérer toutes les variables d'un programme sans le fermer

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: