Tom Benson wrote:
The best solution I could think of would be to retrieve the computers primary MAC address (Network Interface Identifier), however there are a couple of issues with this.

1) It can be spoofed relatively easily
2) It will change if the user removes or replaces that network interface.

There must be a way though, after all, Vista ties you to the original mother board you install it on!!!
This is really just an extension of something Windows has done for quite a while now, which is to generate a unique installation ID based on the hardware addresses of your installed components. It, previously, would tolerate an unknown percentage of hardware change, then invalidate. I have no idea where that is stored, however. In the registry, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion there's a ProductID key that contains the encoded CD Key they used, which might be useful enough, though hardly 100% reliable. I know you can retrieve the Installation ID via VB script with something like result = Obj.GetInstallationID(myIID) , whereing myIID is actually a reference to a variable for storing the ID. Presumably you could just use a VB script with your app, but that seems messy, and may not be reliable if you deploy on multiple versions of Windows. I would say that assuredly there's a simple declare to retrieve it, but that may not be the case. A)Windows is irritating. B)It could be seen as a piracy threat, meaning that only the people smashing assembler code against Windows are able to extract this useful item.

While poking around, I did find this, which could be very useful in this case- http://www.ionworx.com/machineid.html

If I find anything else, I'll chime in.

Later,
Fargo

- Tom

All,

First, losing the List is really going to hurt me.

My question: Can anyone suggest a way or have a code snippet to obtain a (relatively) unique identification of a Windows machine? I have tried wading through msdn stuff but it is way over my head.

I am looking for some information that will remain relatively consistent and apply to the physical computer. One suggestion was to look at several environment variables and match at least two of them to those of the originally licensed machine.

My problem is that I could not find a list of the env variable names - and have never applied declares - and don't have any idea of the returned data structure. (Although, I believe I can master declares after obtaining Charles' book.)

Does the RB system.environment class access Windows machines? Would this be a good place to start?

Thanks,

Art
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>

Reply via email to