AutoHotkey toggle aktywacja/dezaktywacja

0

Cześć, chcę zrobić coś takiego:

Gui, Show, center W800 H500
Gui, Add, Edit, x700 y400 gHotkey, BINDMAKRO
Hotkey:
    Toggle := !Toggle
     While Toggle{
        Click
        sleep 30
    }

I to działa tylko w jedną stronę a chciałbym aby też działało w dwie strony czyli aktywacja i dezaktywacja ALE pod tym samym klawiszem który jest podawany w GUI.

0

@koxper1223: po co ci toggle w takim przypadku?

0

@pikob: No, nie wiem. Dlatego się pytam jak takie coś zrobić. Na takim pewnym discordzie mi mówili żeby tak zrobić ale co do czego nie Odpisują. Ale tak jak w opisie szukam sposobu aby to była aktywacja/dezaktywacja

0

@koxper1223: To już lepiej:

If Toggle then While...

Tylko że potrzebujesz jeszcze opcję wyłączenia pętli, czyli nie może ona być bezwarunkowa. Zatem jeden klawisz powinien zmieniać toggle a drugi uruchamiać while.

0

@pikob To znaczy że jeden klawisz do zbindowania głównego a drugi do samego skryptu?

0

@pikob: Albo inaczej, jak zbindować wyłącznie tej pętli?

0

@koxper1223: to może napisz co chcesz zrobić, jak swoimi słowami chcesz żeby to działało to pomyślimy jak to rozwiązać.

0

@pikob: Robię clickera, i w gui chcę mieć możliwość wybrania przycisku pod który mogę odpalić klikanie w myszkę, działać ma to tak że klikam zbindowany przycisk np. "V" i mi klika w lewy przycisk myszki wciskam znów "V" i przestaje klikać lewy przycisk myszki ale te "V" ma być wybrane przez gui.

0

@koxper1223: no to tak jak napisałem: jeden przycisk do zmiany toggle, a drugi do wywołania pętli. O ile autohotkey rozumie zmienną widoczną w innej swojej funkcji. Czy da się to zrobić pod jednym klawiszem to za słabo znam ahk żeby stwierdzić.

0

@pikob: Dobra, ale nadal nie wiem jak to zrobić, gdzie to dodać do mojego skryptu.

1

@koxper1223: I to jest właśnie ten moment samodzielności w którym sam musisz podjąć pracę na rzecz swojego pomysłu.

0

Twoje gHotkey przechodzi po prostu do Labela o nazwie bez tego "g".
To nie ma nic wspólnego z wiązaniem klawisza klawiatury z Labelem!

Żeby było śmieszniej, istnieje funkcja o dokładnie tej nazwie (Hotkey) która właśnie wiąże klawisz z Labelem!

Czyli:

  • Twój input powinien odpalać procedurę, która wpisze zawartość inputa do zmiennej, a następnie tę zmienną zwiąże z Labelem "przełącz i klikaj dopóki toggle"
  • nie nazywaj Labela nazwą funkcji (co o dziwo jest dozwolone???), bo to proszenie się o kłopoty

Podpowiedzi:

  • vZmienna w opcjach "Edita" zapisze zawartość do zmiennej, ale dopiero jak zrobisz:
    Gui, Submit, NoHide

  • Hotkey,%Zmienna%,Petla pozwala związać klawisz w zmiennej Zmienna z Labelem Petla

  • gProcedura odpala Label o nazwie Procedura po każdej zmianie zawartości inputa

PS Kod mam gotowy, ale wolałbym abyś w celach edukacyjnych sam(-a) złożył(-a) to w całość.

0

Dobra, czyli to:
Gui, Add, Edit, x700 y400 gHotkey, BINDMAKRO
Muszę zamienić na:
Gui, Add, Edit, x700 y400 vHotkey, BINDMAKRO

I w gui

Gui, Show, center W800 H500
Gui, Add, Edit, x700 y400 vHotkey, BINDMAKRO
Gui, Submit, NoHide
Hotkey,%Zmienna%,Petla

Hotkey:
    Toggle := !Toggle
     While Toggle{
        Click
        sleep 30
    }

I, nie wiem czy jestem na dobrym szlaku, ale też nie wiem gdzie umieścić te gProcedura

0

Kiepsko to wygląda....
Nie, nie zamienić. Przecież potrzebujesz zarówno ustawić zmienną, jak i wywołać procedurę, która powiąże klawisz z tej zmiennej z Labelem pętli.
Dalsze podpowiedzi w takim razie:

  • nie nazywaj niczego nazwą Hotkey, ani zmiennej, ani Labela, z wyjątkiem funkcji o tej nazwie

  • potrzebujesz dwa Labele (dwie funkcje) o nazwach np.
    ZwiazKlawiszZLabelem
    Petla

ta pierwsza ma się wywołać po każdej zmianie wartości w Edit-cie
ta druga ma się wywołać jak wciśniesz klawisz związany z nią w pierwszej funkcji

1 użytkowników online, w tym zalogowanych: 0, gości: 1