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?

1 Answer 1

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!

Sign up to request clarification or add additional context in comments.

3 Comments

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
Parsing files with Python is very easy and fun to do :)
For the time being this answers it. - Thank you!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.