vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 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
Cursor Foto 
Autor: reisender
Datum: 06.12.13 16:58


Hallo
Da es scheinbar keine einfache Lösung für mein Prop. gibt versuchte ich es anders zu lösen.
Gedacht habe ich mir:
Wenn ich auf der Mausposition ein Picture erstelle, müsste ich anschließend erkennen ob der Cursor sich verändert hat.
Denkste… der Picture zeigt mir alles, nur nicht den System - Cursor.
Ein grafischer Cursor wird aber gezeigt.

Frage:
Ist es möglich den System –Cursor welcher auch immer, in einer Picturebox dar zu stellen?
'Form1 1x Picture. 1 x Comand1
 
Private Sub Command1_Click()
Dim temp
Mausklick 0, 41, 12 ' Maus nur auf Position ohne Klick
temp = Pic_position_einlesen(41, 12)
Pic1.Refresh
End Sub
 
Private Sub Form_Load()
Set Pic1 = Form1.Picture1
End Sub
'..........Form1 ende......................
 
'MODUL1
'--------------------------Picture  lesen Anfang-----
 
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hdc _
  As Long) As Long
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As _
Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal _
hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As _
Long
'--------------------------Picture  lesen Ende-----
 
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, _
ByVal x As Long, ByVal y As Long) As Long
Private Declare Function GetCursorPos Lib "user32" _
(lpPoint As POINTAPI) As Long
Private Declare Function GetWindowDC Lib "user32" (ByVal hWnd As Long) _
As Long
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, _
ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo _
As Long)
 
Private Const MOUSEEVENTF_ABSOLUTE = &H8000
Private Const MOUSEEVENTF_LEFTDOWN = &H2
Private Const MOUSEEVENTF_LEFTUP = &H4
Private Const MOUSEEVENTF_MIDDLEDOWN = &H20
Private Const MOUSEEVENTF_MIDDLEUP = &H40
Private Const MOUSEEVENTF_MOVE = &H1
Private Const MOUSEEVENTF_RIGHTDOWN = &H8
Private Const MOUSEEVENTF_RIGHTUP = &H10
 
Private Type POINTAPI
  x As Long
  y As Long
End Type
Public Pic1 As Object
'------------------------------------
' Mausklick simulieren mit optionaler Angabe der
' Koordinaten, an welche der Mauszeiger autom.
' positioniert werden soll
Public Sub Mausklick(Optional button As MouseButtonConstants = vbLeftButton, _
   Optional XPos As Long = -1, Optional YPos As Long = -1)
 
 XPos = XPos * 15.01: YPos = YPos * 15 ' meine koordinaten umrechnen
  ' Mauszeiger positionieren
 
  If XPos <> -1 Or YPos <> -1 Then
    mouse_event MOUSEEVENTF_ABSOLUTE + MOUSEEVENTF_MOVE, _
    XPos / Screen.Width * 65535, _
    YPos / Screen.Height * 65535, 0, 0
  End If
 
  ' Mausklick simulieren
  Select Case button
    ' linke Maustaste
    Case vbLeftButton
      mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
 
      mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
 
    ' mittlere Maustaste
      Case vbMiddleButton
      mouse_event MOUSEEVENTF_MIDDLEDOWN, 0, 0, 0, 0
      mouse_event MOUSEEVENTF_MIDDLEUP, 0, 0, 0, 0
 
    ' rechte Maustaste
    Case vbRightButton
      mouse_event MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0
      mouse_event MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0
  End Select
End Sub
Function Pic_position_einlesen(a1 As Integer, b1 As Integer) ' einlesen vom 
' Schirm
Dim hWndScreen As Long
Dim hDCScreen As Long
  Pic1.Picture = Nothing
  Pic1.AutoRedraw = True
  Pic1.AutoSize = True
  Pic1.ScaleMode = 3
  hWndScreen = GetDesktopWindow
  hDCScreen = GetDC(hWndScreen)
  BitBlt Pic1.hdc, 0, 0, Pic1.Width, Pic1.Height, hDCScreen, a1, b1, vbSrcCopy
  ReleaseDC hWndScreen, hDCScreen
End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
MausPointer 3.903reisender20.11.13 20:10
Re: MausPointer2.860Blackbox21.11.13 14:28
Re: MausPointer2.811reisender21.11.13 18:53
Re: MausPointer2.954Blackbox21.11.13 20:39
Re: MausPointer2.789reisender22.11.13 00:38
Nie aufgeben ;)2.979Blackbox22.11.13 10:02
Re: Nie aufgeben ;)2.754reisender02.12.13 12:10
Cursor Foto2.778reisender06.12.13 16:58
Re: Cursor Foto2.748Blackbox06.12.13 18:24
Re: Cursor Foto2.696reisender06.12.13 22:24
Zwischenstand2.711Blackbox08.12.13 11:53
So jetzt hochgeladen2.791Blackbox08.12.13 12:41
Ups.VB stürzt ab - neue Version, jetzt sicher2.761Blackbox08.12.13 13:45
Re: Ups.VB stürzt ab - neue Version, jetzt sicher2.746reisender08.12.13 18:46
Re: Ups.VB stürzt ab - neue Version, jetzt sicher2.803Blackbox08.12.13 18:56
Re: kein globale Maus-Pointerwechsel2.698reisender10.12.13 14:22
Re: kein globale Maus-Pointerwechsel2.713Blackbox10.12.13 22:45
Re: Wie hast du gesagt ? Nie aufgeben ;)2.753reisender12.12.13 20:39
Re: MausPointer2.860Manfred X21.11.13 22:15
Re: MausPointer2.811reisender22.11.13 00:30

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