AGB  ·  Datenschutz  ·  Impressum  







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

Mausklick simulieren funktioniert nicht

Ein Thema von snapman · begonnen am 28. Jan 2007 · letzter Beitrag vom 26. Mär 2008
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#21

Re: Mausklick simulieren funktioniert nicht

  Alt 29. Jan 2007, 00:32
1. Steht der Fokus auf der CheckBox?
2. MSDN-Library durchsuchenIsWindowVisible, bzw. MSDN-Library durchsuchenIsIconic

PS: Wieder nicht vorhandener roter Kasten:
Seltsam, ich verwende nie die WM_SetFocus Nachrichten
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
snapman
(Gast)

n/a Beiträge
 
#22

Re: Mausklick simulieren funktioniert nicht

  Alt 29. Jan 2007, 00:45
Zitat von Sunlight7:
1. Steht der Fokus auf der CheckBox?
2. MSDN-Library durchsuchenIsWindowVisible, bzw. MSDN-Library durchsuchenIsIconic

PS: Wieder nicht vorhandener roter Kasten:
Seltsam, ich verwende nie die WM_SetFocus Nachrichten
Also erstmal ein BigTHX!! Dank IsWindowVisible klickt er den ganzen Kram jetzt automatisch ohne Murren weg auch im Timer!
Aber die Checkbox kann ich seltsamerweise trotz Focus nicht anhaken

Hier mal der aktuelle Code:

Delphi-Quellcode:
var wnd,wnd1: HWND;
begin

wnd := FindWindow('#32770','ZoneAlarm-Sicherheitswarnung');
wnd1 := FindWindowEx2(wnd,'ZaButton', 2); //Checkbox


if (wnd <> 0) and (iswindowvisible(wnd)) then
begin

SetForegroundWindow(wnd);
SendMessage(wnd, WM_SETFOCUS, 0, 0);


keybd_event(VK_TAB, 0, 0, 0);
keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0);

SendMessage(wnd1, WM_SETFOCUS, 0, 0); //FOcus auf checkbox

keybd_event(VK_SPACE, 0, 0, 0); //checkbox anhaken
keybd_event(VK_SPACE, 0, KEYEVENTF_KEYUP, 0);

  keybd_event(VK_TAB, 0, 0, 0);
 keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0);

keybd_event(VK_SPACE, 0, 0, 0); //Zulassen klicken
keybd_event(VK_SPACE, 0, KEYEVENTF_KEYUP, 0);
Also zulassen geht wunderbar mit dem Code, das mit der checkbox nicht, egal ob ich den focus auf die box reinnehme oder nicht
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#23

Re: Mausklick simulieren funktioniert nicht

  Alt 29. Jan 2007, 00:52
Ähm, Du verwechselst da was:

WM_SETFOCUS wird an als Benachrichtigung an ein Fenster gesendet, das es den Fokus erhalten hat.
Was Du suchst ist: MSDN-Library durchsuchenSetFocus

Vorsicht: Windows.SetFocus schreiben

Edit: Deshalb auch die scheinbar 2 Fokusierten Buttons, bzw. hat die CheckBox nicht wirklich den Fokus, sie glaub es nur, weil Du ihr das vorgaukelst
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
snapman
(Gast)

n/a Beiträge
 
#24

Re: Mausklick simulieren funktioniert nicht

  Alt 29. Jan 2007, 00:57
Zitat von Sunlight7:
Ähm, Du verwechselst da was:

WM_SETFOCUS wird an als Benachrichtigung an ein Fenster gesendet, das es den Fokus erhalten hat.
Was Du suchst ist: MSDN-Library durchsuchenSetFocus

Vorsicht: Windows.SetFocus schreiben

Edit: Deshalb auch die scheinbar 2 Fokusierten Buttons, bzw. hat die CheckBox nicht wirklich den Fokus, sie glaub es nur, weil Du ihr das vorgaukelst
hab es jetzt mit SetFocus probiert, nützt leuder auch nix
wnd1 ist die checkbox

Delphi-Quellcode:
......

keybd_event(VK_TAB, 0, 0, 0);
keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0);

Windows.SetFocus(wnd1);

keybd_event(VK_SPACE, 0, 0, 0);
keybd_event(VK_SPACE, 0, KEYEVENTF_KEYUP, 0);
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#25

Re: Mausklick simulieren funktioniert nicht

  Alt 29. Jan 2007, 01:04
Wenn man das selber net Testen kann is etwas schwer

Aber Zeit für Plan B

Hab mir das Bild nochmal angeguckt und gesehen, das die CheckBox nen AccelChar hat

Versuchs mal damit:

Delphi-Quellcode:
// d drücken
keybd_event(68, 0, 0, 0);
keybd_event(68, 0, KEYEVENTF_KEYUP, 0);
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Benutzerbild von Light
Light

Registriert seit: 3. Feb 2006
Ort: Paderborn NRW
123 Beiträge
 
Turbo Delphi für Win32
 
#26

Re: Mausklick simulieren funktioniert nicht

  Alt 29. Jan 2007, 01:16
Eigentlich wäre es ja so viel zu einfach oder?



(kann es leider auch nicht testen...

Leuchtende Grüße

Stefan
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#27

Re: Mausklick simulieren funktioniert nicht

  Alt 29. Jan 2007, 01:26
Nö warum,
eigentlich müßte das genügen:
Delphi-Quellcode:
...
begin
   SetForegroundWindow(wnd);
   
   keybd_event(68, 0, 0, 0); // d drücken
   keybd_event(68, 0, KEYEVENTF_KEYUP, 0);

   keybd_event(76, 0, 0, 0); // l drücken
   keybd_event(76, 0, KEYEVENTF_KEYUP, 0);
end;
Grüßle!
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
snapman
(Gast)

n/a Beiträge
 
#28

Re: Mausklick simulieren funktioniert nicht

  Alt 29. Jan 2007, 02:18
Zitat von Sunlight7:
Wenn man das selber net Testen kann is etwas schwer

Aber Zeit für Plan B

Hab mir das Bild nochmal angeguckt und gesehen, das die CheckBox nen AccelChar hat

Versuchs mal damit:

Delphi-Quellcode:
// d drücken
keybd_event(68, 0, 0, 0);
keybd_event(68, 0, KEYEVENTF_KEYUP, 0);
Das mit dem d funktioniert nichtmal manuell.
Haben die Heinis zwar unterstrichen aber nicht implementiert
  Mit Zitat antworten Zitat
Benutzerbild von Light
Light

Registriert seit: 3. Feb 2006
Ort: Paderborn NRW
123 Beiträge
 
Turbo Delphi für Win32
 
#29

Re: Mausklick simulieren funktioniert nicht

  Alt 29. Jan 2007, 13:26
Hi Ihr,

kann es sein das ihr grad nen Denkfehler eingebaut habt?

um den AccelChar anzusteuern benutzt man doch normalerweise auch die Alt taste oder??

das heißt erst alt taste Drücken dann D drücken dann D loslassen dann alt Loslassen

oder Irre ich mich jetzt?

Leuchtende Grüße

Stefan
Stefan
  Mit Zitat antworten Zitat
snapman
(Gast)

n/a Beiträge
 
#30

Re: Mausklick simulieren funktioniert nicht

  Alt 29. Jan 2007, 13:41
Zitat von Light:
Hi Ihr,

kann es sein das ihr grad nen Denkfehler eingebaut habt?

um den AccelChar anzusteuern benutzt man doch normalerweise auch die Alt taste oder??

das heißt erst alt taste Drücken dann D drücken dann D loslassen dann alt Loslassen

oder Irre ich mich jetzt?

Leuchtende Grüße

Stefan
also wie gesagt der AC für die checkbox funktioniert weder mit alt+d noch mit D
auch nicht wenn ich vor dem rechner selbst sitze und maus und tastatur benutze
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 01:21 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