vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 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 - Fortgeschrittene
Problem mit API-Funktion SetCapture 
Autor: Oliver500
Datum: 01.03.08 11:06

Hallo zusammen,

habe eine Testanwendung geschrieben, die immer die Bewegungen des Mauszeigers empfangen soll - funktioniert aber nicht. Bevor ich alles Beschreibe, hier die Class Form1:

Public Class Form1
 
    Declare Auto Function SetCapture Lib "user32.dll" (ByVal hwnd As Integer) _
      As Integer
    Declare Auto Function GetCapture Lib "user32.dll" () As Integer
    Declare Auto Function ReleaseCapture Lib "user32.dll" () As Integer
    Declare Auto Function SetFocusWnd Lib "user32.dll" Alias "SetFocus" (ByVal _
      hwnd As Long) As Integer
 
    Declare Auto Function GetActiveWindow Lib "user32.dll" () As Integer
    Declare Auto Function GetLastError Lib "kernel32.dll" () As Integer
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
 
        Me.Text = GetActiveWindow
        Dim mRückgabe As Integer
        Dim mFehlercode As Integer
        mRückgabe = SetCapture(GetActiveWindow)
        mFehlercode = GetLastError
 
        Label2.Text = "Letzter Fensterhandle: " & mRückgabe
 
        Label3.Text = "Fehlercode: " & mFehlercode
 
    End Sub
 
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button2.Click
 
        Me.Text = GetCapture
        ReleaseCapture()
 
    End Sub
 
    Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
 
        Label1.Text = Val(Label1.Text) + 1
 
    End Sub
 
End Class
Durch Klick auf Button1 sollen alle Mausereignisse von Form1 empfangen werden können. Zur Kontrolle wird das aktuelle Fensterhandle in der Titelzeile ausgegeben. Das letzte Fensterhandle, was von SetCapture zurückgegeben wird, wird in Label2 ausgegeben. Label3 zeigt an, ob ein Fehler aufgetreten ist. Label1 signalisiert durch einfaches "hochzählen" erstmal nur, dass die Ereignisprozedur aufgerufen wurde.

Wird Button2 angeklickt, wird in der Titelzeile das Fensterhandle des Fensters angezeigt, zu dem aktuell umgeleitet wurde. Ich bekomme verschiedenste Fensterhandles angezeigt! Der Fensterhandle, der nach Klick auf Button1 angezeigt wird, stimmt nicht mit dem Fensterhandle überein, der nach Klick auf Button2 angezeigt wird! Der Fensterhandle, der von SetCapture zurückgegeben wird (Label2). Passt zudem weder zu dem einen noch zu dem anderen Fensterhandle.

Hat irgend jemand eine Idee, was hier los ist?
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Problem mit API-Funktion SetCapture1.573Oliver50001.03.08 11:06
Re: Problem mit API-Funktion SetCapture1.265ModeratorFZelle01.03.08 12:32
Re: Problem mit API-Funktion SetCapture1.220Oliver50001.03.08 14:33
Re: Problem mit API-Funktion SetCapture1.095ModeratorFZelle01.03.08 17:15
Re: Problem mit API-Funktion SetCapture1.178Oliver50001.03.08 17:31
Re: Problem mit API-Funktion SetCapture1.151GPM01.03.08 18:09
Re: Problem mit API-Funktion SetCapture1.119Oliver50001.03.08 18:18
Re: Problem mit API-Funktion SetCapture1.098GPM01.03.08 18:35
Re: Problem mit API-Funktion SetCapture1.100GPM01.03.08 18:48
Re: Problem mit API-Funktion SetCapture1.150Oliver50001.03.08 18:50
Re: Problem mit API-Funktion SetCapture1.188ModeratorFZelle01.03.08 18:58

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