![]() |
Macro-Mausclick
Hallo liebe Delphi-Gemeinschaft.
Ich habe mal wieder ein kleines Problem. Ich möchte gern wissen wie man in einem anderen Programm Tastendrücke und Mausclick vorgänge machen lasse. Ich habe wirklich überall im Forum geguckt,entweder sind dort codes die ich nicht raffe oder dort steht nix. Also wäre Cool würde mir jemand eine kleine Anleitung (Tutorial) auf Deutsch schicken,oder mir einfach mal Helfen über MSN. derjenige soll mich anschreiben und ich schicke ihm meine MSN. Danke im vorraus, InZiDeR. |
DP-Maintenance
Dieses Thema wurde von "SirThornberry" von "Multimedia" nach "Windows API / MS.NET Framework API" verschoben.
|
Re: Macro-Mausclick
ein Tutorial wäre übertrieben da es einfache Funktionsaufrufe sind. Am besten du zeigst uns den Quelltext den du gefunden hast aber nicht verstehst. Denn was bringt es alternativen zu suchen wenn du die dann auch nicht verstehst (zumal wir ja noch nichtmal wissen welche du nicht verstehst und was dann alternativen wären). Das sinnvollste wäre doch wenn wir dir das was du nicht verstehst versuchen zu erklären.
|
Re: Macro-Mausclick
Keysendung
Delphi-Quellcode:
Mausklick(bewegung?):
Procedure PostKeyEx32( key: Word; Const shift: TShiftState;
specialkey: Boolean ); Type TShiftKeyInfo = Record shift: Byte; vkey : Byte; End; byteset = Set of 0..7; Const shiftkeys: Array [1..3] of TShiftKeyInfo = ((shift: Ord(ssCtrl); vkey: VK_CONTROL ), (shift: Ord(ssShift); vkey: VK_SHIFT ), (shift: Ord(ssAlt); vkey: VK_MENU )); Var flag: DWORD; bShift: ByteSet absolute shift; i: Integer; Begin For i := 1 To 3 Do Begin If shiftkeys[i].shift In bShift Then keybd_event( shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0), 0, 0); End; { For } If specialkey Then flag := KEYEVENTF_EXTENDEDKEY Else flag := 0; keybd_event( key, MapvirtualKey( key, 0 ), flag, 0 ); flag := flag or KEYEVENTF_KEYUP; keybd_event( key, MapvirtualKey( key, 0 ), flag, 0 ); For i := 3 DownTo 1 Do Begin If shiftkeys[i].shift In bShift Then keybd_event( shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0), KEYEVENTF_KEYUP, 0); End; { For } End; { PostKeyEx32 }
Delphi-Quellcode:
procedure MoveMouse (X,Y,Speed: Integer);
var wd, hh : integer; mm : TPoint; begin if Speed < 1 then Speed := 1; wd := X; hh := Y; Repeat sleep(speed); Application.Processmessages; GetCursorPos(mm); with mm do begin If x > wd then dec(x) else If x < wd then inc(x); If y > hh then dec(y) else If y < hh then inc(y); end; SetCursorPos(mm.x,mm.y); until (GetAsyncKeystate(Vk_Return) <> 0) or (GetAsyncKeystate(Vk_Escape) <> 0) or (GetAsyncKeystate(Vk_Space ) <> 0) or ((mm.X=X) and (mm.Y=Y)); end; Bitteschön :) |
Re: Macro-Mausclick
das untere ist einfach animierte mausbewegung. Letztendlich wird die maus so bewegt:
Delphi-Quellcode:
SetCursorPos(XPosition, YPosition);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz