Featured Posts

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 Windows 7. you don't need to have...

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

Special discount offer: -20% on purchase   Starting from today (27 April 2010 ) we offer a 20% discount for two of our products if they are purchased together: HDDPhysic : get the physical vendor information from the computer hard...

Readmore

Special discount offer: -20% on purchase   Starting from today (27 April 2010 ) we offer a 20% discount for two of our products if they are purchased together: HDDPhysic : get the physical vendor information from the computer hard...

Readmore

Subs Grabber v1.1.0.62 is released!  Today we've released a new updated version of Subs Grabber v1.1.0.62. Here is what's new in this version: Fixed: some utf8 characters doesn't display right in the movie list Modified: working...

Readmore

  • Prev
  • Next

USBPhysic updated to v1.1.0

Posted on : 17-05-2010 | By : rlByte Team | In : USBPhysic, rlByte News

0

Today we’ve released a new updated version of USBPhysic (v1.1.0)

Here is what’s new in this version:

  • improved hardware serial extraction in Vista and Windows 7.
  • you don’t need to have your application elevated anymore in Windows Vista or 7 when admin rights required. Now it works even with a guest account type.

Get the new version from here.

Special discount offer: -20% on purchase

Posted on : 27-04-2010 | By : rlByte Team | In : Discounts & Special Offers, HDDPhysic, USBPhysic, rlByte News

0

special offer  Starting from today (27 April 2010 ) we offer a 20% discount for two of our products if they are purchased together:

    special offer: 20% off!

  • HDDPhysic : get the physical vendor information from the computer hard disk drive, HDD, such as the unique serial number or model number.
  • special offer: 20% off!USBPhysic : extract the physical vendor information, such as the unique serial number, from almost any USB storage device.

 In the shopping cart check the option bellow to “Add bellow product to cart and get a 20% instant discount for every product in cart!” and you will have a 20% discount on your ordered products.

Tip 1: This offer is time limited.
Tip 2: Here on our blog you will find time limited discounts and special offers related to our products. Stay tuned on this category of our blog (rss feed here ) to take advantage of each deal and make sure you are using it before the deadline.

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

USBPhysic C# example (source code sample)

Posted on : 09-02-2010 | By : rlByte Team | In : USBPhysic, rlByte News

2

 In order to get the usb storage device (external portable Hard Drives, flash/pen/key drive etc) 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 our USBPhysic library and C# (CSharp) you need to do the following 3 easy steps:

(1) Load USBPhysic library and declare the imported library functions :

 namespace USBPhysic_Example
{
    public partial class Form1 : Form
    {
        //load the library
        [DllImport("USBPhysic")]
        public static extern int Init(string sUser, string sRegCode);

        [DllImport("USBPhysic")]
        public static extern int GetUSBPhysicInfo(int diskIndex, int InfoType, StringBuilder pHddInfo);

        public Form1()
        {
            InitializeComponent();
        }

(2) Call the Init function to initialize the user computer usb storage devices

       private void Form1_Load(object sender, EventArgs e)
        {
            int USBDisks = Init("your reg code here", "your reg code here");

            if (USBDisks > 0)
            {
                for (int i = 0; i < USBDisks; i++)
                {
                    comboBox1.Items.Add(i);
                }
                comboBox1.SelectedIndex = 0;
            }
        }

(3) Now that you have the total hard drives count you can query for the manufacturer information passing the usb device index to the GetPhysicInfo function:

       private void button1_Click(object sender, EventArgs e)
        {
            const int nChars = 1024;
            StringBuilder Buff = new StringBuilder(nChars);
           
            //0 = Get SerialNumber
            if (GetUSBPhysicInfo(Int32.Parse(comboBox1.Items[comboBox1.SelectedIndex].ToString()), 0, Buff) > 0)
                textBox1.Text = Buff.ToString();
            else
                textBox1.Text = "n/a";

            //1 = Get product name
            if (GetUSBPhysicInfo(Int32.Parse(comboBox1.Items[comboBox1.SelectedIndex].ToString()), 1, Buff) > 0)
                textBox2.Text = Buff.ToString();
            else
                textBox2.Text = "n/a";

            //2 = Get USB Manufacturer
            if (GetUSBPhysicInfo(Int32.Parse(comboBox1.Items[comboBox1.SelectedIndex].ToString()), 2, Buff) > 0)
                textBox3.Text = Buff.ToString();
            else
                textBox3.Text = "n/a";

            //3 = Get drive letter mapped on Windows
            if (GetUSBPhysicInfo(Int32.Parse(comboBox1.Items[comboBox1.SelectedIndex].ToString()), 3, Buff) > 0)
                textBox4.Text = Buff.ToString();
            else
                textBox4.Text = "n/a";
           
        }

screenshot

  A complete project with source code example for using USBPhysic component to get usb device (hard disk, storage device pen etc) physical information with CSharp (C#) is available in the resources area of the product (here).

USBPhysic and Win Vista / 7 UAC (workaround)

Posted on : 29-01-2010 | By : rlByte Team | In : USBPhysic

0

This workaround is not required anymore, starting from version 1.1.0 of USBPhysic you don’t need to have your application elevated in Windows Vista or 7, no admin rights required anymore. Now it works even with a guest account type.

Issue:

 Using USBPhysic to query hard drive physical data may fail sometimes on Vista / Windows 7 if UAC (User Account Control) is enabled and calling application is not launched with sufficient rights.

Workaround

 To work around this issue without forcing the user to disable UAC mark your application with a requestedExecutionLevel. To do that you must create and embed an application manifest with your application that tells the operating system what the application needs ( digital signing of the EXE is also a good idea).
This is the format:

<requestedExecutionLevel
level="asInvoker|highestAvailable|requireAdministrator"
uiAccess="true|false"/>

 To mark your application with a requestedExecutionLevel, first create an application manifest file to use with the target application. This file can be created by using any text editor. The application manifest file should have the same name as the target executable file with a .manifest extension. For example: IsUserAdmin.exe.manifest.
Example:

Executable: MyApp.exe
Manifest: MyApp.exe.manifest

Sample application manifest file:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
   <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="application name" type="win32"/>
      <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
      <security>
         <requestedPrivileges>
            <requestedExecutionLevel level="requireAdministrator"/>
         </requestedPrivileges>
      </security>
   </trustInfo>
</assembly>

Next, you have to attach the application manifest to the executable by adding a line in the resource file of the application (the .rc file) to have Microsoft Visual Studio embed your manifest within the resource section of the PE file. To accomplish this, place the application manifest in the same directory as the source code for the project you are building and edit the resource file to include the following lines:

#define MANIFEST_RESOURCE_ID 1
MANIFEST_RESOURCE_ID RT_MANIFEST "MyApp.exe.manifest"

 After rebuilding the application, the application manifest should be embedded in the resource section of the executable. Check your exe file with a resource viewer, you should see something like this:


USBPhysic (DLL Component) v1.0.0 Launched

Posted on : 28-01-2010 | By : rlByte Team | In : USBPhysic, rlByte News

0

USBPhysic is a stand-alone component ( 32/64-bit Windows dynamic-link library – DLL ) that can be used to extract the physical vendor information from almost any USB (Universal Serial Bus) storage device. With USBPhysic you can get the manufacturer serial number, manufacturer name and so on, of the external portable Hard Drives, flash/pen/key drive or any other kind of USB Storage Device.

Why should I need the physical USB storage info ?

As you know some of the physical information, actually only the serial number, is a unique number/string per device and this offers you a chance to programmatically identify the actual device. Let’s say you want a way to lock your software to a USB storage device (a small flash pen), or distribute your software only with a USB stick, a fast and reliable way to do that is by generating a serial number based on that USB device serial (the hardware serial number that can not be changed, even after a full format). The physical serial number is not the same as the volume serial number, it will not change after a format, and there is no way to change it unless you change the actual device.

demo

Requirements

- USBPhysic is a stand-alone component, does not require any other files to work.

- It uses the drivers on Win32/64 platforms so there are no special library/driver requirements.

- It can be used in any programming/scripting language that can make WINAPI calls like: Delphi, C++Builder, C#, Visual C++, Visual Basic, Visual Basic.NET, VBA, PowerBuilder, Visual Foxpro, Clarion and so on.

- USB device serial numbers are optional and it depends on the hardware manufacturer if they are implemented or not.

- It requires administrator rights on VISTA/Windows 7 to successfully access the USB devices

Download USBPhysic ( Free Trial)

Buy USBPhysic (Full version)