Announcement

Collapse
No announcement yet.

Windows live Messenger was ich gerade höre

Collapse
This topic is closed.
X
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Windows live Messenger was ich gerade höre

    Hi auf http://dotnet-snippets.de/dns/vbnet-...re-SID745.aspx
    gibt es ein Codeschnipsel um ein was ich gerade höre wert zu MSN zuschicken
    früher ging er auch aber jetzt geht es irgendwie nicht mehr weiß einer ne Lösung?

  • #2
    Originally posted by OverSave View Post
    früher ging er auch aber jetzt geht es irgendwie nicht mehr
    Von sich selbst passiert so was nicht. Erinnerst du dich vielleicht, was hast du dazwischen gemacht ? :-)

    Vielleicht liegt es daran ?
    Diese Funktion muss aber im Messenger aktiviert sein.
    Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

    Comment


    • #3
      natürlich hab ich es aktiviert ^^
      was ich mir vorstellen kann ist das es am update liegt und das es bei dem neuen wlm anders geht oder weil ich jetzt vb.net 2008 habe und nicht 2005 oder weil ich jetzt Vista habe und nicht mehr XP

      Comment


      • #4
        Hat keiner eine Lösung?

        Comment


        • #5
          Ich würde erst mal die funktionierende Version wiederherstellen und danach mit dem Debugger jeder Schritt durchgehen und vergleichen an welcher Stelle die Unterschied gibt.
          Höchstwahrscheinlich passt eine Variable oder Struktur nicht mehr.
          Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

          Comment


          • #6
            hmm bringt auch nichts weiß einer vielleicht ob man das auch über die Messenger API ansprechen kann
            wenn ja wie

            Comment


            • #7
              weiß keiner was?

              Comment


              • #8
                Wir wissen immer noch nicht, was eigentlich nicht geht.

                früher ging er auch aber jetzt geht es irgendwie nicht mehr
                ist keine Fehlermeldung. Das Snippet ist primitiv. Es schaut nach, ob es das Fensterhandle vom Messager findet und sendet eine WM_COPYDATA Nachricht an das Fenster.

                Da sollte man mit debuggen den Fehler finden können
                Christian

                Comment


                • #9
                  leider nicht hab es einzeln durchlaufen lassen aber es kommt kein Fehler

                  Comment


                  • #10
                    leider nicht hab es einzeln durchlaufen lassen
                    Wäre dann man an der Zeit. Ev. liegt es überhaupt nicht an dem Snippet, sondern deinem Code...
                    Christian

                    Comment


                    • #11
                      hmm da kann man ja nicht viel falsch machen

                      Comment


                      • #12
                        Hallo,

                        das denkst du

                        Wie sieht denn dein Code aus - das Raten soll ja mal ein Ende haben und dafür musst du schon zeigen was du bisher gemacht hast.


                        mfG Gü
                        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

                        Comment


                        • #13
                          ja ich hab es einmal mit einer eigenen klasse versucht und einmal so

                          Code:
                          Imports System.Runtime.InteropServices
                          Public Class Form1
                              Public Class MSNStatusMessage
                                  Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" ( _
                                      ByVal hWnd1 As Integer, _
                                      ByVal hWnd2 As Integer, _
                                      ByVal lpsz1 As String, _
                                      ByVal lpsz2 As String) _
                                  As Integer
                          
                                  Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
                                      ByVal Hwnd As Integer, _
                                      ByVal wMsg As Integer, _
                                      ByVal wParam As Integer, _
                                      ByVal lParam As Integer) _
                                  As Integer
                          
                                  Private Const WM_COPYDATA As Short = 74
                          
                                  Private Structure COPYDATASTRUCT
                                      Public dwData As Integer
                                      Public cbData As Integer
                                      Public lpData As Integer
                                  End Structure
                          
                                  Public Enum EnumCategory As Integer
                                      Music = 0
                                      Games = 1
                                      Office = 2
                                  End Enum
                          
                                  Public Shared Sub SendStatusMessage(ByVal Enable As Boolean, ByVal Category As EnumCategory, Optional ByVal Message As String = "")
                                      Dim Data As COPYDATASTRUCT
                                      Dim Buffer As String = "\0" & Category.ToString + "\0" & IIf(Enable, "1", "0") & "\0{0}\0" & Message & "\0\0\0\0" & Chr(0) & ""
                                      Dim Handle As Integer = 0
                          
                                      Data.dwData = 1351
                                      Data.lpData = VarPtr(Buffer)
                                      Data.cbData = Buffer.Length * 2
                          
                                      Handle = FindWindowEx(0, Handle, "MsnMsgrUIManager", Nothing)
                          
                                      If Handle > 0 Then
                                          SendMessage(Handle, WM_COPYDATA, 0, VarPtr(Data))
                                      End If
                                  End Sub
                          
                                  Private Shared Function VarPtr(ByVal e As Object) As Integer
                                      Dim GC As GCHandle = GCHandle.Alloc(e, GCHandleType.Pinned)
                                      Dim GC2 As Integer = GC.AddrOfPinnedObject.ToInt32
                                      GC.Free()
                                      Return GC2
                                  End Function
                              End Class
                          
                              Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
                                  MSNStatusMessage.SendStatusMessage(True, MSNStatusMessage.EnumCategory.Music, "test")
                              End Sub
                          End Class

                          aber es hat beides denn gleichen Effekt es passiert nichts

                          Comment


                          • #14
                            Lamgsam wird es lächerlich.

                            Warum postest du den Code des Snippets hier nochmal?

                            Des Weiteren ist mir völlig schleierhaft, warum du den Code nicht debuggst, um zu prüfen warum nichts passiert.

                            Entweder bekommt das Snippet kein Handle (wie wäre es mit dem Einbau einer Ausgabe des Handles?) oder dein Code mit dem du diese Klasse nutzt ist falsch. Das lässt sich eigenständig prüfen, ohne das man hier den Beitrag immer wieder ohne neue Informationen aufwärmt
                            Zuletzt editiert von Christian Marquardt; 23.11.2009, 08:35. Reason: Rechtschreibung
                            Christian

                            Comment


                            • #15
                              Hallo OverSave,

                              wenn du Christians Vorschläge nicht bald in die Tat umsetzt werde ich dieses Thema hier schließen, denn es hat den Anschein als ob du dir nicht helfen lassen willst.

                              Solltest du generell Probleme dem zu folgen was Christian schreibt wäre es besser die Grundlagen an einfachen Beispielen zu üben.

                              Also: Komm auf den Punkt, sonst wird hier dieses Thema geschlossen.


                              mfG Gü
                              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

                              Comment

                              Working...
                              X