Wie fügen Sie einem Mausklick aus Fenstern einen visuellen Effekt hinzu?

30889
Jon Erickson

Ich möchte nur ein kleines Hilfsprogramm, das Mausklicks überwacht, so dass beim Auftreten eines visuellen Blaseneffekts (oder etwas Ähnlichem) ein ähnlicher Effekt auftritt, der in einem Screencast ähnlich ist.

19

2 Antworten auf die Frage

19
RJFalconer

Diese Windows-Option;

mouse circle image

Zusammen mit einem AutoHotkey- Skript ähnlich;

~LButton:: Send  return  ~LButton UP:: Send  return 

(Bei jedem Mausklick (nach unten und nach oben) wird kurz eine Strg ausgelöst.)

Wie von Paolo ausgeführt, können Sie die Mauseinstellung als Teil des Skripts ändern:

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 
Ich habe den Vorschlag hier korrigiert (und danke, dass Sie mich auf AutoHotKey gestellt haben). Ich habe Stunden gebraucht, um die Lösung herauszufinden. Ich habe ein einzelnes Zeichen (die Tilde `~`) hinzugefügt, das den normalen Durchgang der Maus ermöglichte. Ich habe das Beispiel auch so modifiziert, dass nicht nur eine Mausklickfreigabe, sondern auch der erste Mausklick den Effekt erzeugt. vor 12 Jahren 1
Nizza finden! Danke für die Bearbeitung. RJFalconer vor 12 Jahren 0
Es ist möglich, die Mauseinstellungen automatisch zu ändern. Siehe diesen Link: http://www.autohotkey.com/board/topic/77380-mouse-click-special-effects-for-presentationsdemos/ Paolo Fulgoni vor 9 Jahren 1
1
traycerb

Dies ist eine Variante der Antwort von RJFalconer, die Änderungen von Paolo Fulgoni enthält. Ich wollte meine Maus nicht immer sehen, wenn die STRG-Taste gedrückt wurde, und ich hoffte, dass die DllInfoÄnderung die Einstellung dynamisch ein- und ausschaltet, aber ich konnte sie nicht zum Laufen bringen (das Skript würde einfach beenden). Zweifellos konnte jemand, der in AHK etwas ausgefeilter war, erklären, was ich falsch gemacht hatte, aber ich habe meine eigene Version erstellt.

Sie schaltet die Option "Maus anzeigen, wenn die Steuerung gedrückt wird" durch Drücken der Maustaste auf EIN, und schaltet sie anschließend aus. Bei begrenzten Tests funktioniert das einwandfrei, obwohl der Mauszeiger manchmal nach hinten verschwindet. Wenn jemand weiß, wie er das Problem beheben kann, oder andere Verbesserungen hat, können Sie gerne einsteigen.

Es ist (übermäßig) dokumentiert, weil ich schnell Dinge vergesse, und wenn ich erneut nachdenken muss, möchte ich, dass meine Skripts genug Informationen bereitstellen, sodass ich nicht suchen muss, um alle alten Referenzen zu finden, die ich zuerst verwendet habe.

;Visualize mouse clicks by showing radiating concentric circles on mouse click ;Author: traycerb ;Date/Version: 01-31-2018 ; ;Source: ;https://superuser.com/questions/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  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  DllCall("user32\SystemParametersInfo", UInt, 0x101D, UInt, 0, UInt, 0, UInt, 0)  return } 
Es war nützlich, danke. Ich habe auch die Zeile "#SingleInstance force" hinzugefügt, um lästige Popup-Nachrichten während Doppelklicks zu vermeiden. Phil B vor 5 Jahren 0