vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 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

Visual-Basic Einsteiger
Mouse-Position Bestimmen mit GetCursorPos sehr ungenau 
Autor: Buddster
Datum: 31.05.06 00:33

Hi,
an der Fachhochschule haben wir ein Projekt zur messtechnischen Erfassung von Fahrzeugbewegungen beim Crash an Fahrzeugmodellen im Maßstab 1:10 (Maschinenbau).

www.km.fh-giessen.ss06.info.ms

Neben Sensoren und einem MiniPC wollen wir die Bewegungen des Fahrzeugs aber auch noch mit Hilfe der Sensoren aus Lasermäusen realisieren.
Momentan befinden wir uns noch in der Erprobung der verschiedenen Komponenten.
Wir von einem Informatiker ein Skript in VB bekommen mit dessen Hilfe wir die Bewegungen der Mouse auf dem Bildschirm anhand einer Exceldatei auslesen können.
Man startet also das Skript und bewegt die Mouse z.B. im Kreis, das Skript ließt die Werte aus und schreibt sie in eine Datei. Anschließend kann man die Werte mit Excel in ein Diagramm bauen und sollte eigentlich den Kreis sehen, den man vorher mit der Mouse gefahren hat.
Nun unser Problem: Die Werte sind irgendwie sehr schlecht, soll heißen die Mouse springt offensichtlich auf einer Sternform umher und nicht gleichmäßig im Kreis - sie zuckt extrem. Außerdem läßt sich die Mouse während das Skript läuft nur sehr eingeschränkt bewegen.

Hier mal der Code:

Private Declare Function GetCursorPos Lib "user32" (cPoint As POINTAPI) As Long
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As _
  Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal zeit As Long)
 
 
Private Type POINTAPI
    x As Long
    y As Long
End Type
 
Sub aufzeichnen()
Dim tPoint As POINTAPI
Dim x As Long
Dim y As Long
Dim a
Dim Ende As Single, i As Long
 
 
 Open "c:\positionen21.txt" For Output As #1
 
DoEvents
 
Ende = Timer + 5
 
SetCursorPos 500, 500
 
Do While Timer <= Ende
  i = i + 1
 
x = GetCursorPos(tPoint)
y = GetCursorPos(tPoint)
DoEvents
If tPoint.x <> 500 And tPoint.y <> 500 Then
 
  Print #1, Trim(tPoint.x - 500), Trim(tPoint.y - 500)
 
End If
 
tPoint.x = 500
tPoint.y = 500
 
SetCursorPos 500, 500
 
 
' Je kleiner der Wert desto öfter wird Mausposition ausgelesen !
Sleep 1
 
Loop
 
Close #1
MsgBox ("ende aufzeichen")
End Sub
Ich habe leider bisher nur ein wenig Erfahrung mit PHP und kann mit dem Code im Allgemeinen sehr wenig anfangen, habe auch keine Möglichkeit den Urheber zu kontaktieren. Deshalb wäre ich für etwas Hilfe sehr dankbar. Die Werte sollten doch etwas genauer erfassbar sein, oder?
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Mouse-Position Bestimmen mit GetCursorPos sehr ungenau1.749Buddster31.05.06 00:33
Re: Mouse-Position Bestimmen mit GetCursorPos sehr ungenau710Zardoz31.05.06 02:54
Re: Mouse-Position Bestimmen mit GetCursorPos sehr ungenau698Buddster31.05.06 23:08

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