vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 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 & Windows API
Hilfe, GetWindowEx funzt nicht! 
Autor: Stomper
Datum: 29.03.06 23:59

Hi Leute, ich bekomme immer eine riesige Zahl (die definitif NICHT der Handle ist) von GetWindowEx zurück.

Das ist mein Code:
Public Declare Function SendMessage Lib "user32.dll" Alias _
    "SendMessageA" (ByVal hWnd As Integer, ByVal Msg As Integer, ByVal _
    wParam As Integer, ByVal lParam As Integer) As Integer
 
    Public Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" ( _
      ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
    Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" ( _
    ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal _
    lpsz2 As String) As Long
    Public Declare Function SetForegroundWindow Lib "user32" Alias _
    "SetForegroundWindow" (ByVal hwnd As Long) As Long
 
    Const WM_CLOSE = &H10
    Const BM_CLICK = &HF5
 
 
    Private Sub cmd_Away_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles cmd_Away.Click
 
        Dim hwndDialog As Long
        Dim hwndButton As Long = 0
        Dim retval As Long
 
        ' Handle des Rechner-Fenster bekommen.
        hwndDialog = FindWindow(vbNullString, "Rechner")
        If hwndDialog = 0 Then Exit Sub
 
        ' Handle des Buttons "2" bekommen.
        hwndButton = FindWindowEx(hwndDialog, 0, vbNullString, "2")
 
        ' Fenster aktivieren und in den Vordergrund holen.
        retval = SetForegroundWindow(hwndDialog)
 
        ' Dann den Button drücken.
        retval = SendMessage(hwndButton, BM_CLICK, 0, 0)
    End Sub
Der Rechner läuft natürlich im Hintergrund.
Der Wert von hwndButton ist eine Total lange Zahl. Prompt bekomme ich natürlich eine Overflow.Exception bei Sendmessage.
Wenn ich mit WinSpy den Handle des Buttons manuell herausfinde klappt es einwandfrei.

Kann mir jemand Helfen? Warum funzt die GetWindowEx nicht?
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Hilfe, GetWindowEx funzt nicht!2.824Stomper29.03.06 23:59
Re: Hilfe, GetWindowEx funzt nicht!1.803VBxler30.03.06 09:42
Re: Hilfe, GetWindowEx funzt nicht!1.773Stomper30.03.06 14:29
Re: Hilfe, GetWindowEx funzt nicht!1.858VBxler30.03.06 19:41
Re: Hilfe, GetWindowEx funzt nicht!1.750Stomper03.04.06 18:19
Re: Hilfe, GetWindowEx funzt nicht!1.703ModeratorMartoeng03.04.06 21:28
Re: Hilfe, GetWindowEx funzt nicht!1.676Stomper04.04.06 12:45
Re: Hilfe, GetWindowEx funzt nicht!1.733ModeratorMartoeng31.03.06 01:10
Re: Hilfe, GetWindowEx funzt nicht!1.698Stomper02.04.06 23:27
Re: Hilfe, GetWindowEx funzt nicht!1.700ModeratorMartoeng03.04.06 16:55

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