Hi,
I need help to make a script which recognize PID and VID device and connect this device.
i used libusb0 but i can't find the device connected and other informations.
This is my code :
can you copy and paste it to understand my problem,?..
AutoIt
$libusb0 = DllOpen("libusb0.DLL") hotkeyset("{Esc}","Terminate") ;Exit the program by ESC key Func Terminate() Exit 0 EndFunc ;==>Terminate ;**************************************************LIBUSB0 functions********************************************* Func usb_init() DllCall ($libusb0, "None", "usb_init") EndFunc Func usb_find_busses() $retval = DllCall ($libusb0, "Int", "usb_find_busses") Return $retval EndFunc Func usb_device() DllCall ($libusb0, "none","usb_device") EndFunc Func usb_find_devices() $retval = DllCall ($libusb0, "Ptr", "usb_find_devices") Return $retval EndFunc Func usb_get_busses() $retval = DllCall ($libusb0, "Ptr", "usb_get_busses") Return $retval EndFunc Func usb_open($devicePointer) $retval = DllCall ($libusb0, "HWnd", "usb_open", "Ptr", $devicePointer) Return $retval EndFunc Func usb_close($devicePointer) $retval = DllCall ($libusb0, "Int", "usb_close", "ptr", $devicePointer) Return $retval EndFunc #include <Array.au3> #include <file.au3> #include <WinAPI.au3> #include <WindowsConstants.au3> #include <Process.au3> usb_init() $findbus = usb_find_busses() $busses = usb_get_busses() $find = usb_find_devices() Global $bus Global $c global $i Global $a ;*******************find busses********************************************* $usb_bus = DllStructCreate("ptr;ptr;char[512];ptr;ulong;ptr", $busses[0]) ;$usb_bus = DllStructCreate("ptr;ptr;char[512];ptr;ulong;ptr", $bus[0]) MsgBox(0, "ugb", DllStructGetData($usb_bus, 3)) MsgBox(0, "ugb", DllStructGetData($usb_bus, 1)) MsgBox(0, "ugb", DllStructGetData($usb_bus, 2)) $usb_find_busses = DllStructCreate("Int",$findbus[0]) $fbus= DllStructGetptr($usb_find_busses,1) If($fbus=0x00000001) then ;if the bus is find ConsoleWrite("Busses found : "& $fbus & @CRLF& @CRLF) Else ConsoleWrite("Busses Not found ... "& $fbus & @CRLF& @CRLF) EndIf ;************************get busses********************************************* $usb_get_busses = DllStructCreate("ptr;ptr;char[512];ptr;long;long;", $busses[0]) $next = DllStructGetPtr($usb_get_busses, 1) ConsoleWrite("Pointer:"& $next &@CRLF) $previous = DllStructGetPtr($usb_get_busses, 2) ;pointer on the bus ConsoleWrite("Previous Pointer : "& $previous&@CRLF) $path = DllStructGetData($usb_get_busses, 3) ;path of the bus ConsoleWrite("Path: "& $path&@CRLF) $devices = DllStructGetPtr($usb_get_busses, 4) ConsoleWrite( "NextPointer : "& $devices&@CRLF) ;next ponter $location = DllStructGetData($usb_get_busses, 5) ConsoleWrite( "Location: "& $location &@CRLF) $root_dev = DllStructGetPtr($usb_get_busses, 6) ConsoleWrite("Root Device Pointer: "& $root_dev& @CRLF& @CRLF) ;"Root Device Pointer: ;**********************data devices********************************************* $usb_find_devices = DllStructCreate("Int",$find[0]) $devi = DllStructGetPtr($usb_find_devices,1) If($devi=0x00000001) then ;test if a device was detected ConsoleWrite("A device is connected: "& $devi & @CRLF) ;*********************************verify by windows configuration******************************* send("{LWIN}") send("{RIGHT}") send("{UP}") send("{UP}") send("{UP}") send("{ENTER}") sleep(3000) send("{DOWN}") send("{DOWN}") send("{DOWN}") send("{DOWN}") send("{ENTER}") sleep(2000) $var = ControlGetText("Propriétés de : M221 Controller","M221 Controller","[CLASS:Edit; INSTANCE:1]") ;search word : M221 controller ConsoleWrite("Text found: " & $var & @CRLF) if $var="M221 Controller:" Then ;if the word M221 was found ConsoleWrite("verify : OK M221 controller detect "& @CRLF) EndIf ;*** $control = ControlGetHandle("Propriétés de : M221 Controller","M221 Controller","[CLASS:Edit; INSTANCE:1]") ;retrieve handle window ConsoleWrite("Control handle found: " & $control & @CRLF& @CRLF) send("{ENTER}") ;close window M221 WinKill("Périphériques et imprimantes","") ;close window ;*********************************************************************************************** $iPID=376 $ff=_ProcessGetName ( $iPID ) ConsoleWrite("PID found: "& $ff & @CRLF) Else ConsoleWrite("Not device... "& @CRLF) ;display if no device was detected EndIf $a = usb_device() ConsoleWrite("usb device: " & $a & @CRLF) ;usb device retrieve by usb_device function $us=usb_open($a) ;open te device by usb_device ConsoleWrite("usb open:" & $us & @CRLF) ;*******************************open / close***************************************** DllClose("libusb0.DLL")