2011-07-02 8 views
6

Uczę się zarówno autohotkey i Pythona. Napisałem ten skrypt w AHK (i to działa!), Który automatycznie dołącza tabele (używając tableninja) w PokerStars client--przekonwertować ahk do python

^q:: 
Loop 
{ 
Send q 
Sleep 500 
Send {PgUp} 
Sleep 500 
Send w 
Sleep 60000 
} 
return 

chciałbym przekonwertować to do Pythona - możesz dać mi pomysł co do modułów, których mogę użyć, aby to osiągnąć?

To, co musi zrobić skrypt Pythona, to (podczas tworzenia pętli) wpisać literę (w notatniku, który jest już otwarty), zejść w dół dwie linie, wpisać inną literę, a następnie odczekać minutę przed rozpoczęciem.

Jestem thinking--

import module to auto-type letters 
import module that works as timer 

def function 
    type letter q 
    enter 
    enter 

def function 
    type letter w 

def function 
    sleep 

while True 
    function 
    function 
    function 

uczę się, jak kod. Nie dotarłem jeszcze do tej części o modułach Pythona. Dzięki!

+1

Czy to tylko ćwiczenie? Pomimo tego, że uwielbiam Pythona, AutoHotkey jest lepiej przystosowany do tego zadania, moim zdaniem. O ile nie ma innych funkcji, które również dodajesz. Jeśli to tylko te kilka linii, pozostanę przy AHK. –

+0

uczenie się. Chcę tylko zobaczyć, jak można to zrobić skryptem ahk przy użyciu Pythona. –

Odpowiedz

7

Zakładając, że pracujesz w systemie Windows (nie myśl, że AHK działa na cokolwiek innego), powinieneś sprawdzić sendkeys. To sprawi, że wysyłanie naciśnięć klawiszy będzie bułką z masłem. Jeśli chcesz coś trochę bardziej wytrzymałe, przyjrzeć pywinauto

skrótu strony, przyjrzeć pyhook

6

Proponuję te moduły:

  • SendKeysCtypes dla każdego wysyłania naciśnięć klawiszy i wysyłanie skrótów do okna. SendKeysCtypes to nowa i bardziej stabilna wersja SendKeys. Miałem problemy z SendKeys w przeszłości.

  • PYHK radzić sobie z globalnymi skrótami klawiszowymi - otrzymywać skróty klawiszowe i funkcje wyzwalające. PYHK jest oparty na pyHook i sprawia, że ​​skrypty są bardzo proste. Napisałem to, ponieważ miałem dokładnie taki sam pomysł jak ty - chciałem zrobić funkcjonalność AHK w pythonie.

  • win32gui do obsługi okien, takich jak zmiana rozmiaru. Osobiście wolę win32gui dla krótkich, prostych zadań. Używam pywinauto do bardziej złożonych zadań. Przykładem byłoby, gdybym musiał uzyskać dostęp do menu w programie (jak File-New).

  • mouse.py do sterowania myszą. To najsolidniejszy sposób, jaki dotychczas odkryłem. Wersja, której używam, jest rozszerzeniem modułu, który znalazłem tutaj w stackoverflow - ctypes mouse_events.

Osobiście zrobiłem kilka programów do pokera z Pythona. Wydałem kod źródłowy moich mniejszych programów. Możesz je znaleźć ze źródłem na mojej stronie internetowej schurpf.com/poker-software.

+0

link do [SendKeysCtypes] (http://pywinauto.blogspot.com/2010/04/sendkeysctypes-release-for-some-value.html) – schurpf

+0

link do [win32gui] (http://python.net/crew/ skippy/win32/Downloads.html) – schurpf

2

Istnieje również biblioteka międzyplatformowa do tego celu.

+0

Ale AutoPy ma 2 lata, prawda? – noisygecko

Powiązane problemy