คุณจะเพิ่มเอฟเฟ็กต์ภาพในการคลิกเมาส์จากภายในหน้าต่างได้อย่างไร


22

ฉันแค่ต้องการยูทิลิตี้เล็ก ๆ น้อย ๆ ที่ตรวจสอบการคลิกเมาส์เพื่อที่ว่าเมื่อเกิดปรากฏการณ์เอฟเฟกต์ฟอง (หรือสิ่งที่คล้ายกัน) เกิดขึ้นคล้ายกับสิ่งที่คุณเห็นในหน้าจอ screencast

คำตอบ:


21

ตัวเลือกเนทิฟ Windows

คุณสมบัติของเมาส์> ตัวเลือกตัวชี้> แสดงตำแหน่งของตัวชี้

รวมกับAutoHotkey

~LButton::
Send {Ctrl}
return

~LButton UP::
Send {Ctrl}
return

การคลิกเมาส์ (ลงและขึ้น) ทุกครั้งจะเป็นการยิงCtrlสั้น ๆ

Paolo ชี้ให้เห็นว่าคุณสามารถเปลี่ยนการตั้งค่า Mouse เป็นส่วนหนึ่งของสคริปต์ได้:

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
ฉันได้แก้ไขข้อเสนอแนะที่นี่ (และขอขอบคุณที่นำฉันไปที่ AutoHotKey) ฉันใช้เวลาหลายชั่วโมงในการหาวิธีแก้ไข ฉันเพิ่มอักขระตัวเดียว (เครื่องหมายตัวหนอน~) ที่เปิดใช้งานการทำงานปกติของเมาส์เพื่อผ่าน ฉันได้ปรับเปลี่ยนตัวอย่างเพื่อไม่เพียง แต่การปล่อยเมาส์คลิกเท่านั้น แต่ยังเป็นการคลิกเมาส์ภายในด้วยเพื่อสร้างเอฟเฟกต์

1
เป็นไปได้ที่จะเปลี่ยนการตั้งค่าเมาส์โดยอัตโนมัติ ดูลิงค์นี้: autohotkey.com/board/topic/…
เปาโลฟัลโกนี

การเปลี่ยนแปลงที่ฉันทำคือการลบ ~ LButton และใช้เพียง ~ LButton Up เพราะทั้งคู่สร้างเอฟเฟกต์โซนาร์แบบแยกส่วน แต่การใช้เพียงคลิกขึ้นทำให้การทำงานสมบูรณ์แบบ
Trialsman

1

นี่คือตัวแปรของคำตอบของ RJFalconer ซึ่งรวมการเปลี่ยนแปลงจาก Paolo Fulgoni ฉันไม่ต้องการเห็นเมาส์ของฉันตลอดเวลาเมื่อกดปุ่ม CTRL และฉันหวังว่าการDllInfoดัดแปลงจะเปลี่ยนการตั้งค่าเปิดและปิดแบบไดนามิก แต่ฉันไม่สามารถใช้งานได้ (สคริปต์เพิ่งจะออก) ไม่ต้องสงสัยเลยว่ามีใครบางคนที่มีความซับซ้อนมากขึ้นใน AHK สามารถอธิบายสิ่งที่ฉันทำผิด แต่ฉันไปข้างหน้าและสร้างเวอร์ชันของตัวเอง

มันสลับตัวเลือก "แสดงเมาส์เมื่อมีการกดปุ่มควบคุม" ในขณะที่กดปุ่มบนเมาส์จากนั้นจึงปิดในภายหลัง มันทำงานได้ดีในการทดสอบที่ จำกัด แม้ว่าบางครั้งตัวชี้เมาส์ก็จะหายไปโดยอัตโนมัติ หากใครรู้วิธีแก้ไขหรือปรับปรุงอื่น ๆ อย่าลังเลที่จะกระโดดเข้ามา

มันเป็นเอกสาร (มากเกินไป) เพราะฉันลืมสิ่งต่าง ๆ ได้อย่างรวดเร็วและเมื่อฉันต้องการกลับมาใหม่ฉันต้องการให้สคริปต์ของฉันให้ข้อมูลที่เพียงพอซึ่งฉันไม่จำเป็นต้องค้นหาเพื่อค้นหาการอ้างอิงเก่าทั้งหมดที่ฉันใช้ในตอนแรก

;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บรรทัดเพื่อหลีกเลี่ยงข้อความป๊อปอัปที่น่ารำคาญในระหว่างการดับเบิลคลิก
Phil B
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.