3

I am working on a program to make python auto click and type something in. I know this has been done before and asked before but no one has asked about recording mouse clicks to be "Played back" later on. I have the basic code set up from tutorials all over the place. I am wondering if I can get a hand with this. Here is what I have to this point:

import win32api, win32con
import time
def click(x,y):

    win32api.SetCursorPos((x,y))
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)

print "Clicking 300, 300"
click(300,300)

time.sleep(3)

print "Clicking 800, 800"
click(800, 800)

How do I make this so the user can input and save a pre-generated script for clicks?

CodeMonkeyAlx
  • 813
  • 4
  • 16
  • 32

1 Answers1

2

Well, I don't have any experience with the Win32 API, however, it should work along those lines:

  1. The Module you are using needs to let you define a callback method for when a click happens

  2. You somewhere set a boolean that tells you that you are currently recorded.

  3. Your callback method stores tuples in a list:
    • The tuples store the timestamp (time.time) and the coordinates.
    • You can even store more information, like right-click or whatever.
  4. When you are done recording you should have every informationen necessary to start replaying :)

(You may also consider this post) Hope it helps!

Community
  • 1
  • 1
enpenax
  • 1,476
  • 1
  • 15
  • 27
  • Looking into all of this I have most of it done already. I might save the "Recording" to an external file of some kind and have it read into the program as its needed. Might have some more questions Also I am open to other API's its just this was the first I found. LOL – CodeMonkeyAlx Jun 17 '13 at 20:53
  • Parsing files with Python is very easy and fun to do :) – enpenax Jun 17 '13 at 21:07
  • For the time being this answers it. - Thank you! – CodeMonkeyAlx Jun 18 '13 at 16:54