Làm thế nào để bạn thêm một hiệu ứng hình ảnh cho một nhấp chuột từ trong cửa sổ?


22

Tôi chỉ muốn một tiện ích nhỏ theo dõi các lần nhấp chuột để khi xảy ra hiệu ứng bong bóng thị giác (hoặc một cái gì đó tương tự) xảy ra, tương tự như một cái gì đó bạn có thể thấy trong một screencast.

Câu trả lời:


21

Tùy chọn Windows gốc

Thuộc tính chuột> Tùy chọn con trỏ> Hiển thị vị trí của con trỏ

Kết hợp với AutoHotkey

~LButton::
Send {Ctrl}
return

~LButton UP::
Send {Ctrl}
return

Mỗi lần nhấp chuột (xuống & lên) sẽ bắn Ctrlnhanh.

Như được chỉ ra bởi Paolo, bạn thậm chí có thể thay đổi cài đặt Chuột như một phần của tập lệnh:

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

1
Tôi đã sửa đề xuất ở đây (và cảm ơn vì đã đưa tôi lên AutoHotKey). Tôi phải mất hàng giờ để tìm ra cách khắc phục. Tôi đã thêm một ký tự (dấu ngã ~) cho phép hoạt động bình thường của chuột đi qua. Tôi cũng đã sửa đổi ví dụ để không chỉ phát hành nhấp chuột mà cả nhấp chuột nội bộ cũng tạo ra hiệu ứng.

1
Có thể tự động thay đổi cài đặt chuột. Xem liên kết này: autohotkey.com/board/topic/ Mạnh
Paolo Fulgoni

Thay đổi tôi đã thực hiện là xóa ~ LButton và chỉ sử dụng ~ LButton Up, bởi vì cả hai đều tạo ra hiệu ứng sonar rời rạc, nhưng chỉ sử dụng nhấp chuột lên sẽ khiến nó hoạt động hoàn hảo.
Trialsman

1

Đây là một biến thể của câu trả lời của RJFalconer, kết hợp những thay đổi từ Paolo Fulgoni. Tôi không muốn luôn nhìn thấy chuột của mình khi nhấn nút CTRL và tôi hy vọng việc DllInfosửa đổi sẽ tự động bật và tắt cài đặt, nhưng tôi không thể làm cho nó hoạt động (tập lệnh sẽ thoát ra). Không nghi ngờ gì ai đó tinh vi hơn trong AHK có thể giải thích những gì tôi đã làm sai, nhưng tôi đã tiếp tục và tạo ra phiên bản của riêng mình.

Nó tự động chuyển tùy chọn "Hiển thị chuột khi nhấn điều khiển" BẬT khi nhấn nút chuột, sau đó chuyển sang TẮT sau đó. Nó hoạt động tốt trong thử nghiệm hạn chế, mặc dù đôi khi con trỏ chuột biến mất sau khi ra mắt. Nếu bất cứ ai biết cách khắc phục nó, hoặc có bất kỳ cải tiến nào khác, vui lòng nhảy vào.

Nó (quá mức) được ghi lại, bởi vì tôi nhanh chóng quên đi mọi thứ và khi tôi cần xem lại, tôi muốn các kịch bản của mình cung cấp đủ thông tin mà tôi không cần tìm kiếm để tìm tất cả các tài liệu tham khảo cũ mà tôi đã sử dụng ở nơi đầu tiên.

;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
}

Đó là hữu ích cảm ơn. Tôi cũng đã thêm #SingleInstance forcedòng để tránh thông báo bật lên gây phiền nhiễu trong khi nhấp đúp.
Phil B
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.