Klick nur an eine bestimmte Awendung senden?
-
Offtopic: ich glaube nicht, dass er einen Usernamen imitieren wollte. Ich denke eher, dass er tatsächlich einfach Simon heißt.
-
Danke erstmal für die Antwort!
mouse_event schein die Mausposition zu ändern. Ich wollte gerade die Mausposition nicht ändern, sodass eine Anwendung einen Klickbefehl bekommt (an der Stelle X;Y) und der Anwender davon nichts mitbekommt - sprich die Mausposition nicht geändert werden muss.
Mit SendInput() komm ich nicht so recht klar. wenn diese Funktion meine Bedürfnisse erfüllen sollte, so bitte ich um ein Beispiel.
Vielen Dank!
-
der Anwender davon nichts mitbekommt
Tut mir leid, aber bei sowas werd ich grundsätzlich hellhörig - warum ist das denn notwendig, dss der User davon nix weiss? Du kannst doch eine Funktion in deinem eigenen Programm immer selber aufrufen und das auch ohne UserInput. Dazu braucht man keinen Mausklick imitieren.
Also, was soll das bezwecken?
-
Kenn jemand Diablo 2 Lod?

Will mir ein kleines Programm schreiben, was dem Söldner auf Tastendruck nen Heiltrank gibt ...
-
Du kannst bei D2 LOD einfach Shift+1/2/3/4 drücken...
-
Dankeschööön!
Trotzdem würde ich gerne solch ein Programm der Übung wegen selber schreiben ... meinetwegen kann der Klick ja auch an die Anwendung gesendet werden, in der er aufgerufen wurde (also die eigene) aber bitte mit beispiel ...
MfG
-
glaube eine Lösung gefunden zu haben ... leider kann ich kein Delphi ... kann mir das bitte einer nach c++ übersetzen?
function GetWindows(Handle: HWND; Info: Pointer): BOOL; stdcall; begin Result := True; WindowList.Add(Pointer(Handle)); end; function FindWindowWith (ACaption : string) : HWND; var i : Integer; Dest : array [0..255] of Char; begin FindWindowWith:=0; WindowList := TList.Create; EnumWindows(@GetWindows, 0); for i := 0 to WindowList.Count - 1 do begin GetWindowText(HWND(WindowList[i]), Dest, sizeof(Dest) - 1); if Pos(ACaption, Trim(Dest)) > 0 then FindWindowWith:=HWND(WindowList[i]); end; WindowList.Free; end; function FindChildWindowWith (AWindowHandle : HWND; AWidth, AHeight : Integer; ACaption : string) : HWND; var i : Integer; Dest : array [0..255] of Char; myRect : TRect; begin FindChildWindowWith:=0; WindowList := TList.Create; EnumChildWindows (AWindowHandle, @GetWindows, 0); for i := 0 to WindowList.Count - 1 do begin GetWindowText(HWND(WindowList[i]), Dest, sizeof(Dest) - 1); GetWindowRect (HWND(WindowList[i]), myRect); if (myRect.Right-myRect.Left = AWidth) and (myRect.Bottom-myRect.Top = AHeight) and (Pos(ACaption, Dest) > 0) then FindChildWindowWith:=HWND(WindowList[i]); end; WindowList.Free; end; Handle:=FindWindowWith ('Caption des Top-Level-Windows'); if Handle <> 0 then begin myHandle:=FindChildWindowWith (Handle, gesuchte Breite und Höhe, 'Beschriftung des Buttons'); if myHandle <> 0 then begin if IsWindowVisible (myHandle) then begin SendMessage (myHandle, WM_KEYDOWN, VK_SPACE, 0); Sleep (50); SendMessage (myHandle, WM_KEYUP, VK_SPACE, 0); Sleep (50); end; end; end;Oder is das nicht die Lösung?
Danke!!
-
meinetwegen kann der Klick ja auch an die Anwendung gesendet werden, in der er aufgerufen wurde (also die eigene) aber bitte mit beispiel ...
In deiner eigenen Anwendung brauchst du keinen Mausklick zu faken um eine Aktion auszuführen, da rufste einfach die Funktion auf.
Das geht auch ohne Usereingabe.
Und wenn du ein großer H4xx0r sein willst.. gibts einschlägige Seiten wo man solche Techniken lernt oder vielleicht auch nicht?
rya.
-
es geht mir um Objekte, denen man keinen Klick per integrierter Funktion senden kann ... arbeite mit dem CBuilder sone sachen wie FormMouseDows(...) gibt es für z.b. CppWebBrowser nicht ... ich will dem Objekt trotzdem nen klick sendn ... weiß aber nicht wie!?
-
Ich habe ne Lösung gefunden.
HWND Handle = FindWindow(NULL, "Form1"); SendMessage(Handle, WM_LBUTTONDOWN, 0, MAKELPARAM(5,30)); SendMessage(Handle, WM_LBUTTONUP, 0, MAKELPARAM(5,30));wenn ich einen Text an ein Editfeld senden möchte sieht das so aus:
HWND child = FindWindowEx(Handle, 0, "TEdit", 0); if (child) SendMessage(child, WM_SETTEXT, 0, (LPARAM)"Hallo - Test Button 3!");Warum findet er jedoch kein TCppWebBrowser?
Vielen Dank!
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.