vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
SendMessage - Internet Explorer_Server 
Autor: joeld
Datum: 13.04.10 19:19

Guten Abend!

Da ich bis jetzt noch nichts hilfreiches zu dem Thema im Netz gefunden habe und auch nicht der vb Profi bin , wende ich mich mal an euch.

Es geht um folgendes Problem:

Ich wollte quasi das ICQ-Nachrichten Fenster in eine vb Anwendung einbinden.
Ich habe eine TextBox in meine Form gesetzt, die den Inhalt an das ICQ-Chatfenster senden sollte. Jedoch sollte dieses auch funktionieren wenn das Chatfenster im Hintergrund ist!

Folgenden Code benutze ich im Moment:

 Private Declare Ansi Function SendMessage Lib "user32.dll" Alias _
   "SendMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam _
   As Integer, ByVal lParam As String) As Integer
 
    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 FindWindow Lib "user32.dll" Alias "FindWindowA" ( _
      ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
 
    Public Const WM_CHAR = &H102
 
 
 
 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As _
   System.EventArgs) Handles Button2.Click
 
        Dim hwnd As Integer = FindWindow("__oxFrame.class__", "3 Gespräche -" & _
          "Pia")
        Dim x As Integer = FindWindowEx(hwnd, 0, "__oxFrame.class__", _
        vbNullString)
        x = FindWindowEx(x, 0, "Internet Explorer_Server", vbNullString)
        SendMessage(x, WM_CHAR, 49, vbNullString)
 
End Sub
Ich habe zunächst erst vermutet das es sich in ICQ um eine TextBox oder ähnliches handelt jedoch handelt es sich um den Internet Explorer_Server.
Wenn ich jetzt jedoch auf den Button2 drücke passiert nichts...Könntet ihr mir da weiterhelfen?

Der obige Code funktionierte allerdings auch mit dem Notepad. Dort sah der dann folgendermaßen aus:
       Dim hwnd As Integer = FindWindow(vbNullString, "Unbenannt - Editor")
       Dim x As Integer = FindWindowEx(hwnd, 0, "Edit", vbNullString)
       SendMessage(x, WM_CHAR, 49, vbNullString)
Über Antworten würde ich mich freuen!


MfG JoelD



P.S. Das es sich um einen Internet Explorer_Server handelt habe ich mit dem nützlichen Tool XSpy herausgefunden.

Beitrag wurde zuletzt am 13.04.10 um 19:22:54 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
SendMessage - Internet Explorer_Server1.081joeld13.04.10 19:19

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel