473,765 Members | 2,070 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Retrieve Hard Disk Serial Number or othe unique PC identifier - XP & 2K

Ok - I have given up on trying to find the active IP address for a given PC.
For licensing purposes I need to retrive a unique identifier from the PC
that the program is installed on. The Hard disk serial number would do fine,
but on Googling it seems that some of the sample code will now laways work
on W2K, and not without administrator rights.

Hence my question - how can I consistently get a UNIQUE PC identifier using
vb.net 2003 - not bothered what the idnetifier is providing that it works
100% of the time on XP and W2K.

Best wishes
Paul
Dec 9 '06 #1
6 30711
Paul,

This is often asked although to get the harddisk serial number is as easy as
all serial numbers don't have all hard disk serial numbers. The same is for
processor numbers.

In fact there is not one hard address on the computer you surely can test
beside maybe the Mac address of a network adapter.

Be aware that your approach can lead that clients turning away from you,
because they are completely 24 hours 7 days a week depending from you or
your helpdesk, who surely should be done by professionals (expensive
persons). If not you can be bailed for high amounts of money if there goes
something wrong, and in this case not only in the USA.

Cor

"Paul Bromley" <fl*******@dsl. pipex.comschree f in bericht
news:eK******** ******@TK2MSFTN GP05.phx.gbl...
Ok - I have given up on trying to find the active IP address for a given
PC. For licensing purposes I need to retrive a unique identifier from the
PC that the program is installed on. The Hard disk serial number would do
fine, but on Googling it seems that some of the sample code will now
laways work on W2K, and not without administrator rights.

Hence my question - how can I consistently get a UNIQUE PC identifier
using vb.net 2003 - not bothered what the idnetifier is providing that it
works 100% of the time on XP and W2K.

Best wishes
Paul

Dec 9 '06 #2
If you want some protection, consider using a hardware dongle. USB dongles
are small and quite cheap these days. Of course it all depends on the value
of each sale for your software. If it's expensive, it obviously won't be
worth it.

"Paul Bromley" <fl*******@dsl. pipex.comwrote in message
news:eK******** ******@TK2MSFTN GP05.phx.gbl...
Ok - I have given up on trying to find the active IP address for a given
PC. For licensing purposes I need to retrive a unique identifier from the
PC that the program is installed on. The Hard disk serial number would do
fine, but on Googling it seems that some of the sample code will now
laways work on W2K, and not without administrator rights.

Hence my question - how can I consistently get a UNIQUE PC identifier
using vb.net 2003 - not bothered what the idnetifier is providing that it
works 100% of the time on XP and W2K.

Best wishes
Paul

Dec 9 '06 #3
Have you considered using a cryptographic type approach? It may be
possible, for example, to generate a unique identification key for the
machine, say based on a few different factors like the MAC address, the
machine name, and the capacity of the C: hard drive, then use some
simple obfuscation method to hide how you did it, store the key in the
registry if needed, and send a copy to yourself so you have it on
record.

That may prove to be a relatively cheap, effective way to "lock down"
licensing issues.

For the "authorisat ion" component you could have the software require a
counter-key that comes from you. Use something like public / private
key pairs, or Diffie Hellman, and then let the client install validate
itself based on the response. With Diffie Hellman, the agreed key could
be sent back with the "public" part of your half of the authorisation,
which also serves to make the authorisation key nice and long.

This should be able to be coded quite easily with a little time. There
are plenty of maths libraries available to do the number crunching for
you.

I hope that this helps

Cheers

The Frog

Dec 11 '06 #4
well , i would go for the manufacturer id of the harddisk

in this case the program would only fail if the harddiks is replaced in the
system
http://www.winsim.com/diskid32/diskid32.html
regards

Michel


"Paul Bromley" wrote:
Ok - I have given up on trying to find the active IP address for a given PC.
For licensing purposes I need to retrive a unique identifier from the PC
that the program is installed on. The Hard disk serial number would do fine,
but on Googling it seems that some of the sample code will now laways work
on W2K, and not without administrator rights.

Hence my question - how can I consistently get a UNIQUE PC identifier using
vb.net 2003 - not bothered what the idnetifier is providing that it works
100% of the time on XP and W2K.

Best wishes
Paul
Dec 11 '06 #5
Try this

Dim mo As New ManagementObjec tSearcher( _
"root\CIMV2 ", _
"SELECT * FROM Win32_NetworkAd apterConfigurat ion")

For Each mac As ManagementObjec t In mo.Get()

Debug.WriteLine ("MACAddress : " & CType(mac("MACA ddress"), String))

Next


"The Frog" <an************ **@eu.effem.com wrote in message
news:11******** **************@ j72g2000cwa.goo glegroups.com.. .
Have you considered using a cryptographic type approach? It may be
possible, for example, to generate a unique identification key for the
machine, say based on a few different factors like the MAC address, the
machine name, and the capacity of the C: hard drive, then use some
simple obfuscation method to hide how you did it, store the key in the
registry if needed, and send a copy to yourself so you have it on
record.

That may prove to be a relatively cheap, effective way to "lock down"
licensing issues.

For the "authorisat ion" component you could have the software require a
counter-key that comes from you. Use something like public / private
key pairs, or Diffie Hellman, and then let the client install validate
itself based on the response. With Diffie Hellman, the agreed key could
be sent back with the "public" part of your half of the authorisation,
which also serves to make the authorisation key nice and long.

This should be able to be coded quite easily with a little time. There
are plenty of maths libraries available to do the number crunching for
you.

I hope that this helps

Cheers

The Frog

Dec 11 '06 #6
Download GetDiskSerial.D LL at http://www.devlib.net to help you!

The GetDiskSerial.D LL is a standard 32-bit DLL file.You can use it to
read the serial number of hard disk easily. As we all know, this serial
number is unique in the world. So this DLL is of great use, for
example, you can use this serial number to creat an encrypt number.

Key Features
*Easy to obtain the serial number of hard disk.
*Support reading several physics hard disks.
*Many development languages are supported, such as the Delphi,
C++Builder, VC, C#, VB, VB.NET, PowerBuilder, Visual Foxpro, Clarion
etc is available.
*Read more parameters, such as Model Number, Revision Number, Buffer
Size, Cylinders, Heads, Sectors per track, etc.
*Not require administrator rights in Win NT/2000/XP.
Product Sheet:
http://www.devlib.net/getdiskserial.htm

Trials are available at
http://www.devlib.net/download/getdiskserial.zip

For more information, please visit
http://www.devlib.net
"Paul Bromley дµÀ£º
"
Ok - I have given up on trying to find the active IP address for a given PC.
For licensing purposes I need to retrive a unique identifier from the PC
that the program is installed on. The Hard disk serial number would do fine,
but on Googling it seems that some of the sample code will now laways work
on W2K, and not without administrator rights.

Hence my question - how can I consistently get a UNIQUE PC identifier using
vb.net 2003 - not bothered what the idnetifier is providing that it works
100% of the time on XP and W2K.

Best wishes
Paul
Dec 20 '06 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
13964
by: Niy | last post by:
what does that mean? what for? I searched a lot but failed to find explanation. Sometimes I really have difficulty finding documentation for some views.
79
14120
by: Klaus Bonadt | last post by:
In order to protect software from being copied without licence, I would like to use something like a key, which fits only to the current system. The serial number of the CPU or the current operating system would be appropriate. However, I do not know how to retrieve the information. Could you help? Klaus
1
507
by: jewelin | last post by:
I'd tried to retrieve the ID or Serial Number of main-board and hard-disk via WMI using C#, but failed. One friend suggested me with some codes calling WIN32 API, but only effective on WIN2000 or later. How to retrieve those data on Win98/ME/2000/XP by using C#?
14
28185
by: Lauren Wilson | last post by:
Discovered this interesting comment on MSDN: "To programmatically obtain the hard disk's serial number that the manufacturer assigns, use the Windows Management Instrumentation (WMI) Win32_PhysicalMedia (a class) property SerialNumber." I'm sorry to admit it bit I am really undereducated on how to incorporate some of the Windows SDK stuff into VBA apps. Anyone know of some sample code that will allow us to read the C drive hardware...
1
2619
by: Steve Barnett | last post by:
I'm using the following code to retrieve the disk serial number of my hard disk, but have nagging doubts as to whether it'll work on other machines. Does anyone have experience of doing this who can advise whether I'm on relatively safe ground here: using System.Management; .... private string GetDiskSerial() { string strSerial = "";
7
1734
by: Adele le Roux | last post by:
Hi All, How can I get the hard disk serial number of a remote computer's C:? The drive will NOT be mapped as a network drive. Thanks, Adele
0
9398
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10156
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10007
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
9951
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9832
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8831
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
6649
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5275
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
2
3531
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.