AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Mausklick auf Hintergrundfenster simulieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mausklick auf Hintergrundfenster simulieren

Offene Frage von "eagle616"
Ein Thema von eagle616 · begonnen am 21. Mai 2009 · letzter Beitrag vom 23. Mai 2009
Antwort Antwort
eagle616

Registriert seit: 1. Mär 2009
17 Beiträge
 
#1

Mausklick auf Hintergrundfenster simulieren

  Alt 21. Mai 2009, 12:48
Hi

Themen zu simulierten Mausklicks gibt es ja schon zu genüge aber ich würde gerne einen Masuklick auf eine bestimmte position in einem Fenster simulieren, das nicht sichtbar ist.
Am besten wäre also wenn nur eine message gesendet wird, ohne dass sich der Mauszeiger bewegt

Geht das überhaupt und wenn ja weiß jemand wie?
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#2

Re: Mausklick auf Hintergrundfenster simulieren

  Alt 21. Mai 2009, 12:56
sollte über SendMessage mittels WM_LBUTTONDOWN funktionieren

Siehe: http://msdn.microsoft.com/en-us/library/ms645607.aspx
+ Google
  Mit Zitat antworten Zitat
eagle616

Registriert seit: 1. Mär 2009
17 Beiträge
 
#3

Re: Mausklick auf Hintergrundfenster simulieren

  Alt 21. Mai 2009, 13:19
Gut ich habe jetzt gefunden:

SendMessage(WM_LBUTTONDOWN,wparam,lparam);

aber ich möchte ja auf eine koordinate klicken da schrieb jemand hier

das ginge in etwa so : lParam = int(short(y) << 16) + short(x);

aber ich weiß jetzt nicht was ich damit anfangen soll, denn was soll << sein.
Und wenn ich das wegmache und die Koordinaten eingebe passiert nichts.
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Mausklick auf Hintergrundfenster simulieren

  Alt 21. Mai 2009, 13:23
mit << 16 könnte shl 16 gemeint sein
  Mit Zitat antworten Zitat
eagle616

Registriert seit: 1. Mär 2009
17 Beiträge
 
#5

Re: Mausklick auf Hintergrundfenster simulieren

  Alt 21. Mai 2009, 20:23
Also vielen Dank erstmal ich habe jetzt das:

Code:
var wnd:Hwnd;
begin
  wnd:=findwindow(nil,'Fenster');
  //GetWindowRect(
  if wnd<>0 then
  begin
    sendmessage(wnd,WM_LButtonDown,0, 254 + 243 shl 16);
    sendmessage(wnd,WM_LButtonUp,0,254 + 243 shl 16);
  end else
    showmessage('not found');
end;
254 und 243 sind x und y aber aus irgendeinem Grund klickt er nicht.
Ist da noch was falsch?
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Mausklick auf Hintergrundfenster simulieren

  Alt 21. Mai 2009, 20:32
Der cast auf ein 32bit Wert, der im beispiel noch mit drin ist, sonst schiebst du ins Leere

oder
sendmessage(wnd,WM_LButtonUp,0,254 + (243 * (256*256))); €: ups
  Mit Zitat antworten Zitat
eagle616

Registriert seit: 1. Mär 2009
17 Beiträge
 
#7

Re: Mausklick auf Hintergrundfenster simulieren

  Alt 21. Mai 2009, 20:52
JA! super danke das geht schonmal.
Das Problem ist jetzt nur, wenn ich das fenster minimiere dann klickt er ganz wo anders hin.
  Mit Zitat antworten Zitat
Yakumo500

Registriert seit: 15. Nov 2008
Ort: Darmstadt
106 Beiträge
 
#8

Re: Mausklick auf Hintergrundfenster simulieren

  Alt 22. Mai 2009, 16:30
Hi,

Vllt musst du die Mausposition neu setzen wenn du das Fenster minimiert hast
so:

SendMessage(wnd,WM_MouseMove,0,254 + 243 shl 16);
  Mit Zitat antworten Zitat
eagle616

Registriert seit: 1. Mär 2009
17 Beiträge
 
#9

Re: Mausklick auf Hintergrundfenster simulieren

  Alt 23. Mai 2009, 09:46
Aber er soll ja die Maus nicht bewegen sondern sie an der Stelle lassen, damit der Benutzer noch was anderes machen kann und das funktioniert ja auch nur wenn das Fenster minimiert ist, dann klickt er im Fenster ganz wo anders hin
  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 18:47 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