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>