VB3 arrêter une application avec menu système à l'aide de Visual Basic

Traductions disponibles Traductions disponibles
Numéro d'article: 80186 - Voir les produits auxquels s'applique cet article
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Agrandir tout | Réduire tout

Résumé

Visual Basic pour Windows pouvez utiliser la fonction Windows API SendMessage pour fermer toute fenêtre active comporte un menu système (appelé zone de contrôle dans Visual Basic pour Windows) avec l'option Fermer.

Plus d'informations

Vous pouvez utiliser la fonction Windows API SendMessage pour publier un message à toute fenêtre de l'environnement tant que le descripteur de la fenêtre est connu. Vous pouvez utiliser la fonction API FindWindow pour déterminer le handle associé à la fenêtre de que l'utilisateur souhaite fermer.

Requête sur les mots suivants dans la Base de connaissances Microsoft pour plus d'informations sur la fonction FindWindow. :
FindWindow et Visual Basic

Pour créer un programme à fermer une occurrence du programme de calcul pour Windows version 3.0, procédez comme suit :
  1. Créez un formulaire nommé Form1.
  2. Créez deux boutons de commande appelés Command1 et Command2.
  3. Dans l'événement Click de Command1, ajoutez le code suivant :
       Sub Command1_Click()
          X% = Shell("Calc.exe")
       End Sub
    
    						
  4. Dans l'événement Click Command2, ajoutez le code suivant :
       Sub Command2_Click()
          Const NILL = 0&
          Const WM_SYSCOMMAND = &H112
          Const SC_CLOSE = &HF060
    
          lpClassName$ = "SciCalc"
          lpCaption$ = "Calculator"
    
          '* Determine the handle to the Calculator window.
          Handle = FindWindow(lpClassName$, lpCaption$)
    
          '* Post a message to Calc to end it's existence.
          X& = SendMessage(Handle, WM_SYSCOMMAND, SC_CLOSE, NILL)
    
       End Sub
    
    						
  5. Dans la section Déclarations, déclarez deux fonctions API suivantes :
       ' Enter each of the following Declare statements on one, single line:
       Declare Function FindWindow% Lib "user" (ByVal lpClassName As Any,
          ByVal lpCaption As Any)
       Declare Function SendMessage& Lib "user" (ByVal hwnd%, ByVal wMsg%,
          ByVal wParam%, ByVal lParam As Long)
    
    						
  6. Exécutez le programme. Cliquez sur le bouton Command1 pour afficher une instance du programme calcul. Cliquez sur le bouton Command2 pour fermer la fenêtre.

Propriétés

Numéro d'article: 80186 - Dernière mise à jour: mercredi 12 février 2014 - Version: 2.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Basic 2.0 Édition Standard
  • Microsoft Visual Basic 3.0 Édition professionnelle
  • Microsoft Visual Basic 2.0 Édition professionnelle
  • Microsoft Visual Basic 3.0 Édition professionnelle
  • Microsoft Visual Basic 1.0 Édition Standard
Mots-clés : 
kbnosurvey kbarchive kbmt kbcode KB80186 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 80186
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com