Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Potrzebuje skrypt który będzie wciskał klawisze... Autohotkey lub coś innego


0-0-0

Rekomendowane odpowiedzi

Opublikowano

Cześć potrzebuje skrypty który po wciśnięciu danego klawiszu będzie wciskał klawisz a przez określony czas w skrypcie po zakończeniu wciskania a będzie wciskał d też przez kilka sekund i tak w kółko... jednocześnie ma być cały czas wciśnięty LPM (LEWY PRZCISK MYSZKI) po ponownym wciśnięciu klawisza którym się go włączała skrypty się wyłączy. Mam nadzieje że wszystko wyjaśniłem jak macie jakieś pytania to piszcie. Zależy mi na tym skrypcie więc proszę o pomoc jeżeli ktoś to potrafi.

Opublikowano

Może być coś takiego:

HotKeySet("{F9}", "Action")
HotKeySet("{ESC}", "EndScript")

Global $iWSK = False

While True
   Sleep(50)
WEnd

;---------------------------------------------------------
Func Action()
   Local $iTimeA = 1, $iTimeD = 2 ;czas wciśnięcia klawiszy "a" i "d"
   $iWSK = Not $iWSK
   If $iWSK Then
      MouseDown("")
   Else
      MouseUp("")
   EndIf
   While $iWSK
      Send("{a DOWN}")
      Sleep($iTimeA * 1000)
      Send("{a UP}")
      Send("{d DOWN}")
      Sleep($iTimeD * 1000)
      Send("{d UP}")
   WEnd
EndFunc

Func EndScript()
   Exit
EndFunc
Opublikowano

@wasta Nadal nie działa :/ Zmieniłem tak: 

HotKeySet("{F6}", "Action")
HotKeySet("{F7}", "EndScript")
 
Global $iWSK = False
 
While True
   Sleep(50)
WEnd
 
;---------------------------------------------------------
Func Action()
   Local $iTimeA = 1, $iTimeD = 2 ;czas wciśnięcia klawiszy "a" i "d"
   $iWSK = Not $iWSK
   If $iWSK Then
      MouseDown("")
   Else
      MouseUp("")
   EndIf
   While $iWSK
      Send("{a DOWN}")
      Sleep($iTimeA * 1000)
      Send("{a UP}")
      Send("{d DOWN}")
      Sleep($iTimeD * 1000)
      Send("{d UP}")
   WEnd
EndFunc
 
Func EndScript()
   Exit
EndFunc

i po kliknięciu f6 nic się nie dzieje.

Opublikowano

To jakich gorących klawiszy użyjesz, to już zależy od twoich potrzeb. Ja wstawiłem przykładowe, a ty możesz je dowolnie zmienić (tak jak i czasy).

U mnie skrypt działał, ale ty u siebie mogłeś mieć klawisz F9 zajęty i zablokowany przez jaki proces.

 

Pozdrawiam

Opublikowano

@wasta dobra skrypt dział tylko czasem jest problem z jego wyłączeniem zamiast wyłączać go przyciskiem którym podałem w skrypcie to wyłącza się go ESC.

 

Mam jeszcze jakie pytanie czy możesz zrobić w tym skrypcie żeby działał on w danym oknie i żebym mógł bez problemu robić coś innego ?

Opublikowano

Niestety nie, funkcje Send(),  MouseUp() i MouseDown() nie są związane z żadnym konkretnym oknem.

Ich działanie będzie więc zależne od tego, które okno jest aktualnie aktywne i gdzie znajduje się kursor myszy.

Do konkretnego okna można przypisać funkcję ControlSend().

 

Poczytaj w podręczniku do AutoIt'a: https://pl.wikibooks.org/wiki/AutoIt/Przejmowanie_kontroli

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...