jaw2233 jaw2233 - 3 months ago 41x
Python Question

pyautogui crashes whenever it clicks

basicly whenever I call pyautogui to click it does it but then crashes the program. here is the program:

import pyautogui
import time
pyautogui.click(650, 200, 10)
while 2 == 2:
waittime = random.randrange(35, 40, 1)
pyautogui.click(600, 680, waittime)
pyautogui.click(1270, 0, 5)
if (x % 4) == 0:
pyautogui.click(600, 550, 4)

when I run it from the command prompt I get this error

Traceback (most recent call last):
File "C:\Users\dogja\Desktop\crap\region2\scriptybob\test.py", line 3, in <module>
pyautogui.click(650, 200, 10)
File "C:\Users\dogja\AppData\Local\Programs\Python\Python35\lib\site- packages\pyautogui\__init__.py", line 362, in click
platformModule._click(x, y, 'left')
File "C:\Users\dogja\AppData\Local\Programs\Python\Python35\lib\site- packages\pyautogui\_pyautogui_win.py", line 437, in _click
_sendMouseEvent(MOUSEEVENTF_LEFTCLICK, x, y)
File "C:\Users\dogja\AppData\Local\Programs\Python\Python35\lib\site- packages\pyautogui\_pyautogui_win.py", line 480, in _sendMouseEvent
raise ctypes.WinError()
OSError: [WinError 127] The specified procedure could not be found.


The problem may have been being caused by the fact that the latest version of pyautogui was intended for python 3.4 when the latest is 3.5. I found that if you're running windows you can use win32api. to install this run the cmd in admin mode and cd to your python's script directory and run this command:

pip install win32api

this will install win32api and it's prerequisites then to make a simple click wrapper for win32api use this function:

def click(x,y):

this essentially moves the cursor somewhere presses the left mouse button down and releases it very fast. I did not write the click snippet shown above but I could not find where I found it first. sorry to who wrote that snip