AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

PostMessage Funktion ?

Ein Thema von ljmarkus · begonnen am 21. Apr 2007 · letzter Beitrag vom 22. Apr 2007
Antwort Antwort
ljmarkus

Registriert seit: 14. Apr 2007
Ort: Göttingen
46 Beiträge
 
Delphi 7 Personal
 
#1

PostMessage Funktion ?

  Alt 21. Apr 2007, 14:00
Hallo.

Ich komme mit der PostMessage nicht zurecht. Gibt es eine erklärung (deutsch) dafür ?
Problem:

wie muß der Aufruf aussehen um 20 pixel nach unten die maus zu bewegen ? Das Handle habe ich.
Habe es bisher so probier und komme damit nicht weiter.

Delphi-Quellcode:
PostMessage(hwnd,WM_LBUTTONDOWN,MK_LBUTTON,0); // ObenLinks- Linketaste drücken
PostMessage(hwnd,WM_MOUSEMOVE,MK_LBUTTON,20); // Links gedrückt halten und 20 Pixel nach unten ziehen
PostMessage(hwnd,WM_LBUTTONUP,MK_LBUTTON,20); // linke taste los lassen
Wo steckt da der Fehler drin ?


Danke, Markus
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#2

Re: PostMessage Funktion ?

  Alt 21. Apr 2007, 14:09
probiers mit SetCursorPos und GetCursorPos
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
ljmarkus

Registriert seit: 14. Apr 2007
Ort: Göttingen
46 Beiträge
 
Delphi 7 Personal
 
#3

Re: PostMessage Funktion ?

  Alt 21. Apr 2007, 14:14
Die funktion (mouse_event) kann ich nicht nutzen da das Fenster auch im Hintergrund nutzbar sein muss.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#4

Re: PostMessage Funktion ?

  Alt 22. Apr 2007, 10:54
Das Senden von Nachrichten gaukelt dem Programm das ja nur vor. Denk mal drueber nach wem welche Ressource gehoert. Nur weil ein Programm gerade ein Fenster im Vordergrund hat, gehoert dem Programm ja nicht die Maus! Das Programm bekommt davon nur die entsprechenden Mauseingaben mit. Wohlgemerkt, das bedeutet noch nichtmal, dass es ueber jede einzelne Bewegung informiert wird.

Das kannst du ganz einfach testen. Ein gutes Beispiel ist mit Puttygen ein Schluesselpaar zu erzeugen. Einmal an der Console und einmal ueber eine Remote-Desktop-Verbindung. Du wirst feststellen, dass du dich ueber die RD-Verbindung fast totmachst bis der Fortschrittsbalken bei 100% ist. Das hat eben damit zu tun, dass die Veraenderung durch Mauseingaben ueber eine solche Verbindung nicht ganz so regelmaessig weitergeben wird.

Nur Nachrichten die das Programm explizit auswertet werden auch eine Wirkung haben. Allgemein bleiben Nachrichten aber das was der Name besagt, es handelt sich nicht zwangslaeufig um Befehle!

Uebrigens bearbeiten Fenster welche im Hintergrund sind keine (Maus)Eingaben (hoechstens ueber einen Hook), wodurch dein Ansatz genausowenig funktionieren wird wie MSDN-Library durchsuchenmouse_event.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz