Partage
  • Partager sur Facebook
  • Partager sur Twitter

[VB] Activer ce que j'ecoute MSN

j'ai le code mais? :p

    7 mai 2006 à 20:25:46

    Bonjour j'aimerai faire un tit projet en VB.

    Je voudrais qu'on rentre des phrases (par ex 5 phrases) et qu'avec un timer, le texte se change automatiquement dans la zone 'ce que jecoute' d'MSN messenger 7.5. J'ai vu qu'il fallait utiliser MsnMsgrUIManager , mais je ne vois pas comment utiliser ce code, dois je faire une zone de saisie ou quelque chose?

    Je vous remercie :)

    Donc pour conclure, ce serait une application où on met des phrases et que toutes les X minutes, le texte qui se trouve dans le pseudo se change auto.

    Merci à vous

    AMicalement,

    ZyggiX

    Option Explicit

    Private Type msnmsgstruct
      msncommand As Integer
      Title(0 To 200) As Byte
      Artist(0 To 200) As Byte
      Album(0 To 200) As Byte
      WmCommand(0 To 80) As Byte
    End Type

    Private Type COPYDATASTRUCT
      dwData As Long
      cbData As Long
      lpData As Long
    End Type

    Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

    Private Const WM_COPYDATA = &H4A

    Private Sub Form_Load()

       'Change the Msn song info
       Call ChangeSong("This is the title", "This is the artist", "This is the album")

    End Sub

    Private Sub Form_Unload(Cancel As Integer)

       'Song stops playing
       Call StopSong
       
    End Sub

    Public Sub ChangeSong(sTitle As String, sArtist As String, sAlbum As String)

        Dim msndata As COPYDATASTRUCT
        Dim msnpush As msnmsgstruct
        Dim msnui As Long
       
        Dim i As Integer
        msnpush.msncommand = 1
       
        'change title
        sTitle = Chr(0) & sTitle
        For i = 0 To Len(sTitle) - 1
        msnpush.Title(i * 2) = Asc(Mid(sTitle, i + 1, 1))
        Next
       
        'change artist
        sArtist = Chr(0) & sArtist
        For i = 1 To Len(sArtist) - 1
        msnpush.Artist((i * 2) - 1) = Asc(Mid(sArtist, i + 1, 1))
        Next
       
        'change album
        For i = 0 To Len(sAlbum) - 1
        msnpush.Album(i * 2) = Asc(Mid(sAlbum, i + 1, 1))
        Next
       
        'Find window & Send message
        msnui = FindWindow("MsnMsgrUIManager", vbNullString)
        msndata.dwData = &H547
        msndata.lpData = VarPtr(msnpush)
        msndata.cbData = &H2AC
        Call SendMessage(msnui, WM_COPYDATA, Me.hwnd, msndata)
     
    End Sub

    Public Sub StopSong()

        Dim msndata As COPYDATASTRUCT
        Dim msnpush As msnmsgstruct
        Dim msnui As Long
       
        'Find window & Send message
        msnui = FindWindow("MsnMsgrUIManager", vbNullString)
        msndata.dwData = &H547
        msndata.lpData = VarPtr(msnpush)
        msndata.cbData = &H2AC
        Call SendMessage(msnui, WM_COPYDATA, Me.hwnd, msndata)
     
    End Sub
    • Partager sur Facebook
    • Partager sur Twitter
      10 mai 2006 à 14:24:42

      Il semblerait que tout le mécanisme qui lie les appels natifs se passe dans la méthode ChangeSong qui accepte trois chaînes de caractère, donc soit tu fais un Windows Form (qui doit être facile à faire si tu utilise l'IDE de Microsoft) ou soit tu récupère les infos par la console et tu appelle la méthode ChangeSong avec ces trois paramètres.
      • Partager sur Facebook
      • Partager sur Twitter

      [VB] Activer ce que j'ecoute MSN

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown