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 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).


Tags: , , , , , ,


Comments (2)

Hello,my dear friend,
I have tested “USBPhysic. DLL”, in the initialization process ,a registration form will appear , I do not need a form.please help me.could you give me a new DLL.send it to my E_mail.
E-mail:hsmgod@126.com
THANKS.

He Shumeng

Hello,

You need to purchase a license for USBPhysic in order to remove the registration form. Get it from here: Buy USBPhysic license

After you buy a license you will receive instructions on how to use the full library, without any restrictions or pop-up forms.

Good luck.

John Becher

Write a comment