AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Anwendungen ignorieren API Funktion SetCursorPos()
Thema durchsuchen
Ansicht
Themen-Optionen

Anwendungen ignorieren API Funktion SetCursorPos()

Ein Thema von rhodan · begonnen am 18. Nov 2006 · letzter Beitrag vom 15. Dez 2006
Antwort Antwort
Benutzerbild von rhodan
rhodan

Registriert seit: 4. Okt 2005
Ort: Hamburg
150 Beiträge
 
Delphi 7 Personal
 
#1

Anwendungen ignorieren API Funktion SetCursorPos()

  Alt 18. Nov 2006, 10:17
moin.

hab grad erfahren das der Cursor eine shared resource ist und Windows der
API Funktion SetCursorPos() einigen Programmen (auf willen der entwickler) nicht gestattet diese ausführen zu können. Ich hab diesen Befehl nun schon in einigen Anwendungen getested und in ein paar von ihnen kann ich zwar einen mausklick simulieren, aber SetCursorpos () wird ignoriert.

Ist jemandem eine möglichkeit bekannt auch in solchen anwendungen die maus via befehlen zu bewegen, so "als würde sie per hand bewegt" ? Das wurmt mich irgendwie
könnte ich SendInput verwenden evtl.?

Netten Gruß aus Hamburg

Rhodan
  Mit Zitat antworten Zitat
Benutzerbild von rhodan
rhodan

Registriert seit: 4. Okt 2005
Ort: Hamburg
150 Beiträge
 
Delphi 7 Personal
 
#2

Re: Anwendungen ignorieren API Funktion SetCursorPos()

  Alt 24. Nov 2006, 09:58
ehh.... zu schade ^^

closed mal bitte
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Anwendungen ignorieren API Funktion SetCursorPos()

  Alt 24. Nov 2006, 10:01
Könntest du eine Freewareanwendung nennen wo dem der Fall ist das SetCursorPos nicht funktioniert? Bisher hatte ich damit noch nie Probleme zumal SetCursorpos ja nicht den Cursor für die Anwendung umsetzt sondern für das gesamte Windows.

Zitat:
Ich hab diesen Befehl nun schon in einigen Anwendungen getested und in ein paar von ihnen kann ich zwar einen mausklick simulieren, aber SetCursorpos () wird ignoriert.
Du hast es in den Anwendungen getestet? Wie kann man das verstehen? Hast du in andere Anwendungen deinen Code eingeschleust welcher das ausführt?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von rhodan
rhodan

Registriert seit: 4. Okt 2005
Ort: Hamburg
150 Beiträge
 
Delphi 7 Personal
 
#4

Re: Anwendungen ignorieren API Funktion SetCursorPos()

  Alt 24. Nov 2006, 15:22
moin.

ich habe keinen code eingeschleust...
ich habe eine einfache delphi anwendung geschrieben die, nachdem sie gestarted wird, nach 5 sekunden den cursor via SetCursorPos() auf die koordinaten 0,0 setzt. ich hab dann einfach mit ALT+TAB in meine anwendung gewechselt und nach 5 sekunden geschaut ob der cursor verschoben wird. nur bei einigen funktioniert das nicht :S

den mausklick habe ich mit
Mouse_Event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0); simuliert.

freeware ist mir nichts bekannt leider :-/
aber ich würde es supergerne mal mit dem Befehl SendInput probieren, allerdings weiß ich nicht wie - die beispiele die ich gefunden habe beziehen sich eigentlich nur darauf tastendrücke zu simulieren, und keine mausbewegungen (obwohl dies laut Befehlsbeschreibung auch möglich sein soll).
hast du evtl. eine beispiel-zeile dafür wie man die maus mit SendInput ganz stumpf z.b auf Koordinate 0,0 setzt? Das wäre klasse.

Freundlichen Gruß
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Anwendungen ignorieren API Funktion SetCursorPos()

  Alt 24. Nov 2006, 15:24
Mit SendInput hab ich mich noch nicht befasst. Allerdings kann ich mir nicht vorstellen das SetCursorPos über manchen Anwendungen nicht funktioniert. Wenn dann funktioniert es im ganzen Windows nicht oder überall, würd ich zumindest mal so fresch behaubten.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von rhodan
rhodan

Registriert seit: 4. Okt 2005
Ort: Hamburg
150 Beiträge
 
Delphi 7 Personal
 
#6

Re: Anwendungen ignorieren API Funktion SetCursorPos()

  Alt 15. Dez 2006, 14:19
ist so nicht ganz richtig..

die API SetCursorPos befindet sich ja in der User32.dll. Diese wird allerdings von DirectX anwendungen gar nicht verwendet, d.h in DirectX anwendungen funktioniert SetCursorPos auch nicht, sondern nur in OpenGL bzw. anderen grafikmodi.

Da die Anwendung in der ich den Cursor bewegen möchte allerdings auf DirectX-Basis läuft, klappt das so nicht :-/

In diesem fall sollen Mausbewegungen mit sogenannten DirectX-Pointern möglich sein, aber wie das funzt weiss ich noch nicht, hört sich aber komplizierter an

Gruß Rhodan
  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 08:30 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