Numéro d'article: 146907 - Dernière mise à jour: mardi 29 juin 2004 - Version: 3.2

Comment faire pour créer un écran de veille dans Visual Basic

Sommaire

Agrandir tout | Réduire tout

Résumé

Vous pouvez créer un écran de veille Windows avec Visual Basic en suivant les instructions ci-dessous. Veuillez toutefois, sachez que cet article fournit uniquement un plan très simplifiée de ce que vous devez faire pour un écran robuste de veille. Il s'agit uniquement des instructions générales.

Plus d'informations

Suivez ces instructions lors de la création un économiseur d'écran Windows avec Visual Basic :

  • Dans la boîte de dialogue fichier créer un fichier EXÉCUTABLE, insérez la chaîne SCRNSAVE: (en majuscules) au début du titre de l'application. Par exemple :
    Poisson SCRNSAVE:Flying.
  • Dans la boîte de dialogue fichier créer un fichier EXÉCUTABLE, spécifiez l'extension de nom de fichier programme comme .SCR au lieu de .exe.
  • Recherchez le fichier de programme .SCR dans le répertoire \Windows.
  • Proposer votre formulaire Paramètres de propriété suivants afin qu'il en mode écran ensemble et n'a pas une barre de titre :
          Caption     = ""     (no caption)
          ControlBox  = False
          MaxButton   = False
          MinButton   = False
          WindowState = 2      (maximized)
    					
  • Ajoutez du code à tous les gestionnaires MouseMove, MouseDown et KeyDown d'événements quitter le programme. Étant donné que Visual Basic peut appeler le MouseMove événement lorsque le formulaire est premier chargé, vous devez écrire du code pour ignorer le premier événement MouseMove. Le code suivant MouseMove évite un événement artefact qui se produit lorsque l'application est tout d'abord activée ou lorsque l'application est en cours d'exécution et une autre instance démarre (provoquer de perte de vue), puis quitte (restauration activé):
          Private Sub Form_MouseMove (Button As Integer, Shift As Integer, _
             X As Single, Y As Single)
             Static count As Integer
             If count > 2 Then
                End
             Else
                count = count + 1
             End If
          End Sub
    						
    il vous donne un peu de marge lorsqu'il s'agit artefact MouseMove événements. Vous souhaitez faire quelque chose de semblable avec les événements MouseDown et KeyDown.

Empêche lance plusieurs

Windows démarre généralement le programme de veille écran plusieurs fois. Pour empêcher plusieurs copies de votre écran de veille en cours d'exécution, ajouter les instructions suivantes au gestionnaire d'événements Form_Load ou Sub Main Si utilisé :
   Private Sub Form_Load ()
      If App.PrevInstance Then
         End
      End If
   End Sub
				
n'a aucune raison pour tenter de restaurer l'instance précédente de l'écran de veille en tant que fenêtre active, car elle deviendra la fenêtre active lors de la fin de la nouvelle instance. Tout ce que vous avez à faire est d'arrêter lorsque vous voyez une autre instance en cours d'exécution. Pour éviter que plusieurs instances de l'application ainsi que pour conserver l'application en cours d'exécution, vous devez placer le code à partir de la Form_Load() sur un Sub Main(). Affectez ensuite Options de formulaire du projet démarrage Sub Main(). Définir le projet pour commencer le traitement en Sub Main est effectuée sur l'onglet projet qui fait partie d'options... dans le menu Outils. Par exemple :
   Public Sub Main ()
      If App.PrevInstance Then   ' If already running, end the application.
         End
      Else
         Form1.Show 1             ' Show the screen saver form.
      End If
   End Sub
				

Lancement de l'écran de veille

Windows s'occupe de lancement de l'écran de veille. Il conserve une trace des temps d'inactivité système et lance le programme de veille écran. Vous pouvez utiliser un contrôle timer pour dessiner régulièrement graphismes sur le formulaire.

Écrans de veille sont sélectionnées et configurés à partir du Panneau de configuration de Windows dans la boîte de dialogue sur le Bureau. La section de économiseur d'écran de cette boîte de dialogue contient un bouton intitulé paramètres qui invoque le programme de veille écran avec le commutateur / c option ligne de commande. Lorsque votre programme est appelé avec cette option, vous pouvez afficher un formulaire de configuration pour autoriser l'utilisateur à sélectionner paramètres tels que la vitesse, le nombre d'objets, couleurs et ainsi de suite. Détecter le paramètre de ligne de commande /c en activant la fonction $ Command. Par exemple :
   Private Sub Form_Load ()
      If Command$ = "/c" Then
         frmConfig.Show   ' Display configuration form.
         Unload Me        ' Bypass regular form.
      End If
   End Sub
				
lorsque Windows démarre l'écran de veille, il spécifie généralement la /s option ligne de commande.

Améliorations possibles

Vous pouvez également votre programme apparaisse en haut de toutes les autres fenêtres en appliquant une fenêtre de niveau supérieur.

Pour plus d'informations, consultez les articles suivants dans la Base de connaissances Microsoft. :
84251  (http://support.microsoft.com/kb/84251/EN-US/ ) Comment faire pour créer une fenêtre de niveau supérieure ou flottant dans Visual Basic
En outre, vous pouvez rechercher deux programmes d'exemple et une explication complète indiquant comment écrire votre propre écran de veille dans Visual Basic dans la loi suivante :
« Visual Basic atelier 3.0 » par John c. Craig, publié par Microsoft Press.
Cet article est un plan approximative de ce que vous devez faire pour un écran robuste de veille. Par exemple, vous souhaiterez peut-être ont le démarrage être un Sub Main() dans lequel vous rechercher une instance précédente et de fin si il y en a un. Ce serait éviter totalement le chargement du formulaire s'il n'y avait déjà une instance en cours d'exécution. Il peut également éviter le problème de MouseMove artefact.

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Basic 4.0 Édition Standard
  • Microsoft Visual Basic 4.0 Édition professionnelle
  • Microsoft Visual Basic 4.0 Édition Entreprise
Mots-clés : 
kbmt kb16bitonly kbhowto kbsetup KB146907 KbMtfr
Traduction automatiqueTraduction 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: 146907  (http://support.microsoft.com/kb/146907/en-us/ )
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.
 

Traductions disponibles