Featured Posts

Using IssProc with NSIS to detect files in use Although IssProc was specially designed for Inno Setup scripts, you can also use it with other setup scripts like NSIS (Nullsoft Scriptable Install System) :) Here is a few steps you need to do in...

Readmore

Using IssProc with NSIS to detect files in use Although IssProc was specially designed for Inno Setup scripts, you can also use it with other setup scripts like NSIS (Nullsoft Scriptable Install System) Here is a few steps you need to do in order...

Readmore

IssProc (DLL Component) Launched IssProc is a user friendly "file in use" extension for Inno Setup (or other setup builder application like NSIS) that can be used to detect if a certain application (exe, dll module, ocx and so on) or...

Readmore

HDDPhysic v1.1.0 is released! Today we've released a new updated version of HDDPhysic (v1.1.0) Here is what’s new in this version: improved hardware serial extraction in Vista and W blog book guest levitra ru siteindows...

Readmore

Promote software on your website and get paid for it!... Join our affiliates network and get 25% commission on every sale you refer! Become a rlByte Software affiliate today!   To start selling, all you need to do is display product information...

Readmore

  • Prev
  • Next

USBPhysic FoxPro example (source code sample)

Posted on : 02-03-2010 | By : rlByte Team | In : USBPhysic

0

 In order to get the USB storage device serial number and other manufacturer information (NOT volume serial, only the unique one, the one that will not change after a format, physical one) using USBPhysic library and FoxPro you need to do the following 3 easy steps:

(1) Load USBPhysic library and declare the imported library functions:
Object: Form1 ; Procedure: Load ;

DECLARE INTEGER Init IN "USBPhysic.dll" AS USB_Init STRING sRegUser, STRING sRegCode
DECLARE INTEGER GetUSBPhysicInfo IN "USBPhysic.dll" AS USB_Info INTEGER diskIndex, INTEGER InfoType, STRING pHddInfo

(2) Call the Init function to initialize the user computer USB storage devices and get their total count:
Object: Form1 ; Procedure: Show ;

tDiscs = USB_Init ('your-registration-info-here', 'your-registration-info-here') && Init and get number of usb devices available

IF tDiscs > 0 THEN
 FOR i=0 TO tDiscs-1 STEP 1
  This.Combo1.AddItem (ALLTRIM(STR(i)))
 NEXT
ENDIF

(3) Now that you have the total USB devices count you can query for the manufacturer information passing the disk index to the GetUSBPhysicInfo function:
Objec: Command1 ; Procedure: Show ;

sBuffer = SPACE(500) && make some room in the buffer
iDiskNo = Form1.Combo1.ListIndex-1


    iReturn = USB_Info(iDiskNo, 0, @sBuffer)    && 0 = serial number
    Form1.Text2.Value=sBuffer
   
    iReturn = USB_Info(iDiskNo, 1, @sBuffer)    && 1 = product name
    Form1.Text1.Value=sBuffer
   
    iReturn = USB_Info(iDiskNo, 2, @sBuffer)    && 2 = manufacturer
    Form1.Text3.Value=sBuffer
   
    iReturn = USB_Info(iDiskNo, 3, @sBuffer)    && 3 = drive letter mapped on Windows
    Form1.Text4.Value=sBuffer

A complete Visual FoxPro 9.0 project is available for download in the resource area of the project here