none
Visual Basic et les applications Vista RRS feed

  • Question

  •  

    Bonjour

     

    J'avais complètement laisser tomber la programmation sous VB6. Mais voilà que le virus me reprend.

     

    Je viens de faire un petit tour sur la manière de créer du code sous Visual Basic 2008. Mais j'ai tout de meme certaines interrogations.

     

    Plus précisemment en ce qui concerne les applications sous Windows Vista comme l'accession au fond d'écran ou à l'écran de veille.

    Sous VB6, il existait des API permettant d'accéder par un simple clic sur un bouton au fond d'écran et le changer. Ou alors à l'écran de veille.

     

    Ce système existe-t-il sous visual basic. Et si oui, de quel coté dois-je chercher ?

     

    Merci beaucoup

    mardi 14 octobre 2008 17:25

Réponses

  • Bonjour,

     

    Sous .NET (et donc VB .NET), il n'existe pas en natif quelque chose qui permette d'accéder aux propriétés de l'arrière plan.

    Normalement l'API est la même que vous utilisez à l'époque sous VB6...

    Si vous m'indiquer quel API vous utilisez avant, je pourrais vous montrer un exemple de code en VB .NET...

     

    Cordialement

    mardi 14 octobre 2008 19:41
    Modérateur
  • Bonjour

     

    Voici l'API dont je me servais

     

    Public Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA"(ByVal uAction As Integer, ByVal uParam As Integer, ByVal lpvParam As Any, ByVal fuWinIni As Integer) As Integer

    Const SPI_SETDESKWALLPAPER As Short = 20

    Const SPIF_UPDATEINIFILE As Integer = &H1

    Const SPIF_SENDWININICHANGE As Integer = &H2

     

    Et je m'en servais de cette manière

     

    Dim AffichEcran As Integer

    AffichEcran = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Affiche, SPIF_SENDWININICHANGE Or SPIF_UPDATEINIFILE)

     

    Cette méthode, si mes souvenirs sont bons permettait de réactualier l'environnement.

     

    Un grand merci par avance

     

    PhilouVB

    mercredi 15 octobre 2008 16:08
  • Bonjour,

     

    Cela devrait fonctionner pareil sous .NET :

     

    Code Snippet

    Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Integer, _

    ByVal uParam As Integer, ByVal lpvParam As String, _

    ByVal fuWinIni As Integer) As Integer

     

    Const SPI_SETDESKWALLPAPER As Short = 20

    Const SPIF_UPDATEINIFILE As Integer = &H1

    Const SPIF_SENDWININICHANGE As Integer = &H2

     

    Private Sub ClickSurUnBouton(...) Handles Button.Click

    Dim AffichEcran As Integer

    AffichEcran = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "c:\Biere1664.bmp", SPIF_SENDWININICHANGE Or SPIF_UPDATEINIFILE)

    End Sub

     

     

    Cordialement

    mercredi 15 octobre 2008 21:08
    Modérateur

Toutes les réponses

  • Bonjour,

     

    Sous .NET (et donc VB .NET), il n'existe pas en natif quelque chose qui permette d'accéder aux propriétés de l'arrière plan.

    Normalement l'API est la même que vous utilisez à l'époque sous VB6...

    Si vous m'indiquer quel API vous utilisez avant, je pourrais vous montrer un exemple de code en VB .NET...

     

    Cordialement

    mardi 14 octobre 2008 19:41
    Modérateur
  • Bonjour

     

    Voici l'API dont je me servais

     

    Public Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA"(ByVal uAction As Integer, ByVal uParam As Integer, ByVal lpvParam As Any, ByVal fuWinIni As Integer) As Integer

    Const SPI_SETDESKWALLPAPER As Short = 20

    Const SPIF_UPDATEINIFILE As Integer = &H1

    Const SPIF_SENDWININICHANGE As Integer = &H2

     

    Et je m'en servais de cette manière

     

    Dim AffichEcran As Integer

    AffichEcran = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Affiche, SPIF_SENDWININICHANGE Or SPIF_UPDATEINIFILE)

     

    Cette méthode, si mes souvenirs sont bons permettait de réactualier l'environnement.

     

    Un grand merci par avance

     

    PhilouVB

    mercredi 15 octobre 2008 16:08
  • Bonjour,

     

    Cela devrait fonctionner pareil sous .NET :

     

    Code Snippet

    Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Integer, _

    ByVal uParam As Integer, ByVal lpvParam As String, _

    ByVal fuWinIni As Integer) As Integer

     

    Const SPI_SETDESKWALLPAPER As Short = 20

    Const SPIF_UPDATEINIFILE As Integer = &H1

    Const SPIF_SENDWININICHANGE As Integer = &H2

     

    Private Sub ClickSurUnBouton(...) Handles Button.Click

    Dim AffichEcran As Integer

    AffichEcran = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "c:\Biere1664.bmp", SPIF_SENDWININICHANGE Or SPIF_UPDATEINIFILE)

    End Sub

     

     

    Cordialement

    mercredi 15 octobre 2008 21:08
    Modérateur