Chcę tylko małego narzędzia, które monitoruje kliknięcia myszką, aby po wystąpieniu pojawił się efekt bąbelków (lub coś podobnego), podobny do tego, co można zobaczyć w screencastie.
Chcę tylko małego narzędzia, które monitoruje kliknięcia myszką, aby po wystąpieniu pojawił się efekt bąbelków (lub coś podobnego), podobny do tego, co można zobaczyć w screencastie.
Odpowiedzi:
~LButton::
Send {Ctrl}
return
~LButton UP::
Send {Ctrl}
return
Każde kliknięcie myszą (w dół i w górę) odpala Ctrlkrótko.
Jak zauważył Paolo, możesz nawet zmienić ustawienie Myszy w ramach skryptu:
DllCall("SystemParametersInfo", UInt, 0x101D, UInt, 0, UInt, 1, UInt, 0) ;SPI_SETMOUSESONAR ON
OnExit, ExitSub
ExitSub:
DllCall("SystemParametersInfo", UInt, 0x101D, UInt, 0, UInt, 0, UInt, 0) ;SPI_SETMOUSESONAR OFF
ExitApp
Jest to wariant odpowiedzi RJFalconera, obejmujący zmiany od Paolo Fulgoni. Nie chciałem zawsze widzieć mojej myszy po naciśnięciu przycisku CTRL i miałem nadzieję, że DllInfo
modyfikacja dynamicznie włącza i wyłącza ustawienie, ale nie mogłem go uruchomić (skrypt po prostu wyszedł). Bez wątpienia ktoś bardziej zaawansowany w AHK mógłby wyjaśnić, co robię źle, ale poszedłem naprzód i stworzyłem własną wersję.
Dynamicznie włącza opcję „Pokaż mysz po naciśnięciu przycisku sterowania” po naciśnięciu przycisku myszy, a następnie wyłącza ją. Działa dobrze w ograniczonych testach, chociaż czasami wskaźnik myszy znika po drugiej stronie. Jeśli ktoś wie, jak to naprawić lub ma inne ulepszenia, nie krępuj się.
Jest (nadmiernie) udokumentowane, ponieważ szybko zapominam o rzeczach, a kiedy muszę wrócić, lubię, aby moje skrypty zawierały wystarczającą ilość informacji, że nie muszę szukać, aby znaleźć wszystkie stare odniesienia, których użyłem w pierwszej kolejności.
;Visualize mouse clicks by showing radiating concentric circles on mouse click
;Author: traycerb
;Date/Version: 01-31-2018
;
;Source:
;/superuser/106815/how-do-you-add-a-visual-effect-to-a-mouse-click-from-within-windows
;https://autohotkey.com/board/topic/77380-mouse-click-special-effects-for-presentationsdemos/
;Dynamically switch on the Windows accessibility feature to show the mouse when the control key is pressed
;when the script is executed, then switch off afterwards
;Windows settings > Mouse > Pointer Options tab > Visibility group > Show location of pointer when I press CTRL key
;Window's SystemParametersInfo function, retrieves or sets the value of one of the
;system-wide parameters. AHK DllCall fxn with SystemParameterInfo parameter is used to access
;this Windows API.
;https://msdn.microsoft.com/en-us/library/windows/desktop/ms724947(v=vs.85).aspx
;BOOL WINAPI SystemParametersInfo(
; _In_ UINT uiAction,
; _In_ UINT uiParam,
; _Inout_ PVOID pvParam,
; _In_ UINT fWinIni
;);
;uiParam [in]
;Type: UINT
;
;A parameter whose usage and format depends on the system parameter being queried or set.
;For more information about system-wide parameters, see the uiAction parameter.
;If not otherwise indicated, you must specify zero for this parameter.
;pvParam [in, out]
;Type: PVOID
;
;A parameter whose usage and format depends on the system parameter being queried or set.
;For more information about system-wide parameters, see the uiAction parameter.
;If not otherwise indicated, you must specify NULL for this parameter.
;For information on the PVOID datatype, see Windows Data Types.
;fWinIni [in]
;Type: UINT
;
;If a system parameter is being set, specifies whether the user profile is to be updated,
;and if so, whether the WM_SETTINGCHANGE message is to be broadcast to all top-level
;windows to notify them of the change.
;This parameter can be zero if you do not want to update the user profile
;or broadcast the WM_SETTINGCHANGE message or it can be set to the following [...]
;Accessibility parameter
;S0x101D PI_SETMOUSESONAR
;Turns the Sonar accessibility feature on or off. This feature briefly
;shows several concentric circles around the mouse pointer when the user
;presses and releases the CTRL key.
;The pvParam parameter specifies TRUE for on and FALSE for off.
;Press the control button each time mouse button is pressed, showing location of mouse pointer.
~LButton::
{
DllCall("user32\SystemParametersInfo", UInt, 0x101D, UInt, 0, UInt, 1, UInt, 0)
Send {Ctrl}
DllCall("user32\SystemParametersInfo", UInt, 0x101D, UInt, 0, UInt, 0, UInt, 0)
return
}
~RButton::
{
DllCall("user32\SystemParametersInfo", UInt, 0x101D, UInt, 0, UInt, 1, UInt, 0)
Send {Ctrl}
DllCall("user32\SystemParametersInfo", UInt, 0x101D, UInt, 0, UInt, 0, UInt, 0)
return
}
#SingleInstance force
wiersz, aby uniknąć irytującego komunikatu wyskakującego podczas podwójnych kliknięć.
~
), który umożliwił przejście normalnej operacji myszy. Zmodyfikowałem również ten przykład, aby nie tylko wydanie kliknięcia myszą, ale także wstępne kliknięcie generowało efekt.