Klein-Projekt sucht Coder :)

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
towo12
User
Beiträge: 7
Registriert: Samstag 4. August 2012, 20:24

Hallo liebe Phyton Community,

ich beschäftige mich zwar ab und an mit coden jedoch im Vergleich zu den meisten hier ist mein Wissen = 0.01 :)

Weswegen ich hier diesen Thread aufgemacht habe, ist weil ich jemand suche der ein wenig Zeit für mich hat um mir bei meinem Problem zu Helfen und dieses "Tool" welches ich im Kopf habe zu realisieren, es ist denke ich kein wirklich großer Aufwand für jemand mit Fachkenntnissen.

Zum Thema:

Ich hätte gerne ein "Tool" welches mit zwei Desktops arbeitet, und hierbei jeden Mausklick auf den "Main" Desktop jeweils auf den erweiterten Desktop clont oder projiziert.

Für genaueres könnte man sich ja dann per Pn oder evtl. Skype unterhalten.

Mfg Towo :D
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

Ich dachte für sowas würden Leute AutoHotKey verwenden.
towo12
User
Beiträge: 7
Registriert: Samstag 4. August 2012, 20:24

Tut mir leid aber von AutoHotKey hatte ich vorher noch nicht gehört... trotz ergiebiger suche :) aber schonmal danke für den Tipp ich schaus mir gerade mal an, aber würde dennoch gerne weitere Comments hören.
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Wo hast du gesucht? Ich finde keinen Suchbegriff der mich nicht auf diese Seite bringt. :-D

http://de.autohotkey.com/
towo12
User
Beiträge: 7
Registriert: Samstag 4. August 2012, 20:24

Hab eben nach einem anderen Titel gesucht^^ wobei ich aus der Seite auch nicht viel schlauer werde... vieleicht gibt es ja jemand der es auch für möglich hält mit Phython oder sonstigem auch so ein Tool zu bastel "ohne" autohotkey.
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

Ich befürchte einfach, dass Python für dein Projekt einfach weniger geeignet ist. Klar kann man mit pywin32 oder so sicher die aktuelle Mausposition abfragen und Mausklicks simulieren, aber virtuelle Desktops? Erzähl doch mehr über das zu lösende Problem um klarere Antworten und Einschätzungen zu bekommen (denn ehrlich gesagt befürchte ich, dass dir einfach eine viel zu umständliche Lösung vorschwebt).
towo12
User
Beiträge: 7
Registriert: Samstag 4. August 2012, 20:24

Ok um es Konkreter zu machen, mal ganz in umgangsform....

Ich habe 2 Bildschirme, welche miteinander verbunden sind, (erweiterter desktop).
Ich brauch nun ein programm welches (um es an einem beispiel festzumachen) wenn ich auf beiden Bildschirmen z.B. Paint offen habe und auf dem Hauptmonitor nun durch klicken einen punkt in die mitte setze, das auch auf dem 2ten monitor dieser punkt durch klick gemacht wird. (ich hoffe es ist verständlich)

das programm soll theoretisch die koordinaten von monitor 1 mit monitor 2 verknüpfen so das, bei klick auf koordinate xyz von monitor 1 automatisch die dazugehörige koordinate xyz auf monitor 2 geklickt wird.
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Das Problem ist nur das Windows nur mit einem Mauszeiger umgehen kann. Eine Maus kann also nur an einem Ort gleichzeitig sein.

Man kann also auf einen Mausklick die Position ermitteln, um einen Offset verschieben, dort einen klick auslösen und wieder auf Ausgangsposition gehen.

Jetzt kommt das aber: Was macht man wenn man klickt, die Maus bewegt, los lässt. Dann muss man Anfangen den Pfad zu speichern. Außerdem ist es je nach Anwendung nötig die Anweisungen auszubremsen weil man sonst zu schnell ist.
towo12
User
Beiträge: 7
Registriert: Samstag 4. August 2012, 20:24

Ja es wäre auch ok wenn die Klicks kurze zeit verschoben auftreten .... das die maus in dem sinne nicht exakt 2mal gleichzeitig klicken kann ist mir schon klar.... aber ansonsten ist es genau so etwas was ich suche
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

webspider hat geschrieben:Ich befürchte einfach, dass Python für dein Projekt einfach weniger geeignet ist. Klar kann man mit pywin32 oder so sicher die aktuelle Mausposition abfragen und Mausklicks simulieren, aber virtuelle Desktops? Erzähl doch mehr über das zu lösende Problem um klarere Antworten und Einschätzungen zu bekommen (denn ehrlich gesagt befürchte ich, dass dir einfach eine viel zu umständliche Lösung vorschwebt).
Ich habe es gerade mal ausprobiert. Ich habe mich noch nie mit ctypes beschäftigt, aber ich habe vor einiger Zeit mal mit Windows in C rum gespielt und es lässt sich eigentlich 1:1 übersetzen.

Code: Alles auswählen

In [1]: import ctypes

In [2]: ctypes.windll.user32.SetCursorPos(200, 100)
Out[2]: 1

In [3]: ctypes.windll.user32.mouse_event(0x0002+0x0004, 0, 0, 0, 0) #LEFT down/up
Out[3]: 1

In [4]: 
Ich komme nur nicht mehr an die Konstanten ran. Also z.B MOUSEEVENTF_LEFTDOWN. Ich habe mir die jetzt von Microsoft geholt und so rein geschrieben wie man sieht. Was mir auch noch nicht klar ist wie ich zum Bsp an `ctypes.windll.user32.GetCursorPos`nen Pointer übergebe. Muss ich mal schauen.
towo12
User
Beiträge: 7
Registriert: Samstag 4. August 2012, 20:24

Sehr nett von dir, danke das du dich mit meinem Problem befasst... ich versuche es mal alles nachzuvollziehen.
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Code: Alles auswählen

In [74]: class POINT(ctypes.Structure):
    ...:     _fields_ = [("x", ctypes.c_long), ("y", ctypes.c_long)]
    ...:     

In [76]: p = POINT()

In [77]: ctypes.windll.user32.GetCursorPos(ctypes.byref(p))
Out[77]: 1

In [78]: p.x
Out[78]: 414

In [79]: p.y
Out[79]: 513
Zusätzlich musst du noch Keys abfragen können, um zu erkennen ob die Maustaste gerückt wurde und das wars dann auch schon. Keycodes gibts hier

Code: Alles auswählen

In [125]: while ctypes.windll.user32.GetAsyncKeyState(0x41) == 0:
     ...:     pass
     ...: else:
     ...:     print "Taste A gedrueckt"
     ...:     
Taste A gedrueckt
Ich habe ja vorher users32.mouse_event benutzt das ist veraltet, aber für das neue SendInput habe ich keine Lust ein ctypes Type zusammen zubauen.
towo12
User
Beiträge: 7
Registriert: Samstag 4. August 2012, 20:24

... hab deinen text zu 0% verstanden^^ musst davon ausgehen das ich von python nicht wirklich viel plan habe :) aber habs grade mal mit Ahk gemacht nur hier ist das problem aufgetreten, dass das programm nur direct input registriert und keine virtuell clicks oder keys wahrnimmt -.-
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ich hab von deinem Text 0% verstanden.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten