Mouse Sonar

Category: Mouse

Date: 03-28-2012

Return to Index


 
 
'Compilable Example:
#Compiler PBWin 9, PBWin 10
#Compile EXE
#Dim All
#Include "Win32API.inc"
Global hDlg As Dword
 
Function PBMain() As Long
   Dialog New Pixels, 0, "Test Code",300,300,200,200, %WS_OverlappedWindow To hDlg
   Control Add Button, hDlg, 100,"Push", 50,10,100,20
   Dialog Show Modal hDlg Call DlgProc
End Function
 
CallBack Function DlgProc() As Long
   If Cb.Msg = %WM_Command And Cb.Ctl = 100 And Cb.CtlMsg = %BN_Clicked Then
      MouseSonar 3
   End If
End Function
 
Sub MouseSonar(sCount As Long)
   Local i,oldretval,retval, SonarState As Long
   'Retrieve current MouseSonar state:  1 =  on, 0 = off
   retval = SystemParametersInfo(%SPI_GETMOUSESONAR,0,SonarState,0)
   oldretval = retval
   If retVal Then
      'Synthesize pressing the Control key
      For i = 0 To sCount-1
         keybd_event(%VK_LCONTROL, &H45, 0, 0)
         keybd_event(%VK_LCONTROL, &H45, %KEYEVENTF_KEYUP, 0)
         Sleep 500
      Next i
   Else
      'Turn on the mouse sonar feature on the user's PC
      SonarState = SonarState Xor 1
      retval = SystemParametersInfo(%SPI_SETMOUSESONAR,0,ByVal SonarState,%SPIF_SENDCHANGE)
      If retVal = 0 Then ? "Mouse sonar feature not supported!", %MB_Ok + %MB_IconExclamation, "Mouse Sonar"
      'Synthesize pressing the Control key
      For i = 0 To sCount-1
         keybd_event(%VK_LCONTROL, &H45, 0, 0)
         keybd_event(%VK_LCONTROL, &H45, %KEYEVENTF_KEYUP, 0)
         Sleep 500
      Next i
      SonarState = SonarState Xor 1
      retval = SystemParametersInfo(%SPI_SETMOUSESONAR,0,ByVal SonarState,%SPIF_SENDCHANGE)  'restore setting
   End If
End Sub
 
'gbs_01037
'Date: 03-10-2012


created by gbSnippets
http://www.garybeene.com/sw/gbsnippets.htm