2019. április 21., vasárnap

Gyorskeresés

Útvonal

Fórumok  »  OS, alkalmazások  »  AutoHotKey

Hozzászólások

(#1) bobalazs


bobalazs
(PH! addikt)

Az ingyenes, nyílt forráskódú AutoHotkey program segítségével a felhasználók unalmas, ismétlődő folyamatokat tehetnek automatikussá.
A programmal egyszerűen bármilyen gyors gomb létrehozható, melyek segítségével egy nyomással akár a többszöri billentyűlenyomás vagy egérkattintás elintézhető.
Az AutoHotkey billentyűzet mellett gyors gombokat tud létrehozni az egéren, vagy a számítógéphez csatlakoztatott joystickon is.
Ezen felül a program képes a billentyűzet gombjainak funkcióit megcserélni (akár egy betűt ki tud cserélni egy másikra is), sőt akár rövidítések teljes kiírása is megtanítható neki (stb helyett satöbbi).

Az autohotkey a háttérben futó program, scriptet futtat folyamatosan.

Multimediás billentyűzetem lecseréltem sima billentyűzetre. Mivel a külünböző gombok hiányoztak új billentyűkombinációt rendeltem pl. a hangerőgombokhoz.

!numpad0::SendInput, {Volume_Down}
!numpad1::SendInput, {Volume_Up}

Évekig xmousebutton control-t használtam a 4-es 5ös egér gombra.
Rövid utánanézés után láttam hogy autohotkeyvel lecserélhető az xmousebutton.

$XButton2::Send ^c ; copy
$XButton1::Send ^v ; paste

Most még csak ismerkedek a programmal, akinek van tapasztalata amit szívesen megosztana másokkal bátran írjatok!

Letöltés

[ Módosította: Intruder2k5 ]

(#2) bobalazs


bobalazs
(PH! addikt)

Linuxnál pl. van olyan funkció hogy alt gomb + bal egér gomb lenyomásával az egér alatt lévő ablakot lehet mozgatni. Ez windowsra így működik.
Az autohotkey ikonjára (az óra melletti részen) jobb gomb, "edit this script"
majd beilleszted a következő szöveget.
Elmented a jegyzettömbben, majd az autohotkey ikonján jobb gomb "reload this script"
Innentől már működik a dolog.

Alt & LButton::
CoordMode, Mouse ; Switch to screen/absolute coordinates.
MouseGetPos, EWD_MouseStartX, EWD_MouseStartY, EWD_MouseWin
WinGetPos, EWD_OriginalPosX, EWD_OriginalPosY,,, ahk_id %EWD_MouseWin%
WinGet, EWD_WinState, MinMax, ahk_id %EWD_MouseWin%
if EWD_WinState = 0 ; Only if the window isn't maximized
SetTimer, EWD_WatchMouse, 10 ; Track the mouse as the user drags it.
return

EWD_WatchMouse:
GetKeyState, EWD_LButtonState, LButton, P
if EWD_LButtonState = U ; Button has been released, so drag is complete.
{
SetTimer, EWD_WatchMouse, off
return
}
GetKeyState, EWD_EscapeState, Escape, P
if EWD_EscapeState = D ; Escape has been pressed, so drag is cancelled.
{
SetTimer, EWD_WatchMouse, off
WinMove, ahk_id %EWD_MouseWin%,, %EWD_OriginalPosX%, %EWD_OriginalPosY%
return
}

CoordMode, Mouse
MouseGetPos, EWD_MouseX, EWD_MouseY
WinGetPos, EWD_WinX, EWD_WinY,,, ahk_id %EWD_MouseWin%
SetWinDelay, -1 ; Makes the below move faster/smoother.
WinMove, ahk_id %EWD_MouseWin%,, EWD_WinX + EWD_MouseX - EWD_MouseStartX, EWD_WinY + EWD_MouseY - EWD_MouseStartY
EWD_MouseStartX := EWD_MouseX ; Update for the next timer-call to this subroutine.
EWD_MouseStartY := EWD_MouseY
return

[ Módosította: Intruder2k5 ]

(#3) bobalazs


bobalazs
(PH! addikt)

F1-F12 billentyűket könnyen hozzá lehet rendelni bármilyen program futtatásához.
Őszintén, ki használja az F billentyűket?

F7::Run "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
return

F7 megnyomására a Google Chrome indul el.
Helyettesíthető az F7 bármilyen F gombra, illetve az indítandó program is, elég átírni az idézőjelben lévő részt.

[ Szerkesztve ]

(#4) bobalazs


bobalazs
(PH! addikt)

Windows 10-en a régi számológépet szerettem volna visszakapni, amit windows 7-en megszoktam.
A következő linkről letöltöttem és feltelepítettem.

Majd a scriptben az F8 gombhoz társítottam ezt a számológépet.

F8::Run "C:\Windows\System32\calc1.exe"
return

(#5) bobalazs


bobalazs
(PH! addikt)

$!q::Send ^+t

Alt q billentyűkombinációval váltottam le a google chrome control shift t billentyűkombinációját. (utolsó bezárt tab újra megnyitása)

(#6) bobalazs


bobalazs
(PH! addikt)

$^!F4::DllCall("PowrProf\SetSuspendState", "int", 1, "int", 1, "int", 1)

Control + Alt + F4 kombinációra alvó módba helyezi a számítógépet.

$^!F1::Shutdown, 5
Control Alt F1 kombinációra kikapcsolja a szgépet.

(#7) Imco


Imco
(őstag)

Köszi a leírást!
Ennek alapján összelegoztam egy működésképtelen "s" billentyű kiváltását egy laptopra.
$!f12::Send s
$!f11::Send S

Üdv! Imco

(#8) bobalazs válasza Imco (#7) üzenetére


bobalazs
(PH! addikt)

$+!f12::Send S

shift + alt f12vel nagy S-et írhatsz, és így egy F11 gomb is felszabadul.

(#9) Imco válasza bobalazs (#8) üzenetére


Imco
(őstag)

:R :R :R

Kipróbálom!

Üdv! Imco

(#10) Imco


Imco
(őstag)

Nem sikerült valamiért.
Nem baj! Van még 10 F billentyűm. ;) :)

Köszi még egyszer!

Üdv! Imco

(#11) Imco


Imco
(őstag)

Áááááá!
Most nézegetem az írásodat. Megvilágosodtam, de már F11 marad! :)
Amit írtál a másik sor alá kellett volna betennem. Én okos meg magában erőltettem.
Mind1 már. Üf. gép volt. Így is boldog lesz!
:R :R :R

Üdv! Imco

(#12) Skullwipe


Skullwipe
(senior tag)

Az AltGr-ből. lehet Fn-t csinálni? Próbálgatom, de nekem nem megy:

<!F6::Send {Media_Prev}
<!F7::Send {Media_Play_Pause}
<!F5::Send {Media_Next}
<!F2::Send {Volume_Down}
<!F3::Send {Volume_Mute}
<!F1::Send {Volume_Up}

(#13) Skullwipe válasza Skullwipe (#12) üzenetére


Skullwipe
(senior tag)

Aha, meg van:
<^>!F6::Send {Media_Prev}
<^>!F7::Send {Media_Play_Pause}
<^>!F5::Send {Media_Next}
<^>!F2::Send {Volume_Down}
<^>!F3::Send {Volume_Mute}
<^>!F1::Send {Volume_Up}

(#14) PlatiaAmos


PlatiaAmos
(tag)

Sziasztok!

Olyan emberkét keresnék, aki vállal ezzel kapcsolatosan egy programozási munkát.
Külföldi oldalakon sok ilyet találtam, de közös anyanyelven jobban haladhatna a dolog.

Tud esetleg bárki olyan oldalt ahol találhatok erre megfelelő embert? Akár itt fórumon akár bárhol?

Köszönöm

(#15) summers


summers
(kvázi-tag)

Sziasztok!

Segítséget szeretnék kérni. Hogy lehetne azt megoldani, hogy ha lenyomsz egy billentyűt, akkor rendeltetés szerűen működik, viszont ha elengeded, akkor ugyanannyi ideig, mint lenyomva volt tartva aktivál egy másik karaktert. Hogy lehet lekérdezni, hogy egy billentyű mennyi ideig volt aktív a lenyomástól számítva, ill. hogy lehet vezérlni, hogy egy billentyű adott ideig működjön, hiába van hosszabb ideig lenyomva.

(#16) DrojDtroll


DrojDtroll
(PH! addikt)
LOGOUT blog

Sziasztok!
Használtok luamacros-t?

(#17) DrojDtroll


DrojDtroll
(PH! addikt)
LOGOUT blog

Valaki aktív a topikban?

(#18) energomatt válasza DrojDtroll (#17) üzenetére


energomatt
(senior tag)

Igen, fogjuk rá.

(#19) DrojDtroll válasza energomatt (#18) üzenetére


DrojDtroll
(PH! addikt)
LOGOUT blog

leírnád, mire használod ez ahk-t?

(#20) energomatt válasza DrojDtroll (#19) üzenetére


energomatt
(senior tag)

Alapvetően még csak tanulom, de használtam már konkrét feladatra is egy fordítási munkában. Szerintem bonyolult programozási feladatokra is alkalmas.

(#21) DrojDtroll


DrojDtroll
(PH! addikt)
LOGOUT blog

Média start/stop funkcionalitást használtok?

(#22) energomatt válasza DrojDtroll (#21) üzenetére


energomatt
(senior tag)

Ez egy Windows alatt működő programnyelv, bármire programozható. Mindenki másra használhatja, amire szüksége van, arra kell kódot írnia.

(#23) DrojDtroll válasza energomatt (#22) üzenetére


DrojDtroll
(PH! addikt)
LOGOUT blog

Ez teljesen egyértelmű, csak ha más is használja arra amire én, akkor lett volna egy kérdésem.

(#24) energomatt válasza DrojDtroll (#23) üzenetére


energomatt
(senior tag)

Az itt látható aktivitást is figyelembe véve, ez így nulla esélyes.

(#25) Tiborek


Tiborek
(újonc)

Sziasztok!

Nem régóta foglalkozom a témával és egyébként sem vagyok profi programozó, úgy hogy bocs, ha esetleg nagyon nagy hülyeséget kérdezek.

Olyan scriptet próbálok írni AHK-ban, ami két nyitott fájl között cserélget adatokat. Az egyik fájl minden esetben egy excel. Egyszerűen az egeret a megfelelő pozícióba küldöm, rákattintok, majd copy-paste. (Ahonnan másolok ott send ^c, ahová beírom ott send ^v.) Ez így működik is, de felmerült egy újabb igény.
Nem egyszerűen adatokat akarok másolni, hanem azt szeretném, hogy az ahk script egy változója, vegye fel az excel egy adott cellájának értékét.

Például:
Mondjuk, az excelben az A5-ös cella értéke 10.
Van a programban egy V1 változó, olyan parancsot akarok adni, hogy ez a V1 legyen egyenlő az A5-ös cella értékével, vagyis legyen 10.
Valami ilyen: V1:=Range("A5")

Ez persze így nem jó, Egy ideje keresem a megoldást, de sajnos elég amatőr lévén, eddig nem találtam.
Ha valaki tudja a megoldást, akkor örömmel venném a segítséget.
Előre is köszi.

(#26) energomatt válasza Tiborek (#25) üzenetére


energomatt
(senior tag)

Nálam is hasonló a helyzet. Ennyire nem egyszerű, rákerestem. Ha itt megnézed a megfelelő videókat, ez látszik.

(#27) Tiborek válasza energomatt (#26) üzenetére


Tiborek
(újonc)

Köszönöm szépen. Megnéztem amit linkeltél, azt hiszem ezzel szórakozhatok egy darabig. Remélem előbb utóbb rájövök a megoldásra.

Útvonal

Fórumok  »  OS, alkalmazások  »  AutoHotKey
Copyright © 2000-2019 PROHARDVER Informatikai Kft.