Wie kann ich die System-ID in Excel anzeigen lasse

Hallo,

Ich möchte für ein Programm eine Sicherung einbauen, dass das Programm ausschließlich auf EINEM bestimmten Computer genutzt werden kann (es handelt sich um ein Excel-Programm). Jetzt habe ich die Idee bekommen, einfach die System-ID beim start zu prüfen. Nur leider weiß ich nicht, wie man an die System-ID herankommt. Ich brauche die System-ID einfach nur in irgendeiner bestimmten Zeile, der Rest steht.

Also, würde mich freuen, wenn mir jemand hilft, danke schonmal, Malte Wellmann

Ich möchte für ein Programm eine Sicherung einbauen, dass das
Programm ausschließlich auf EINEM bestimmten Computer genutzt
werden kann (es handelt sich um ein Excel-Programm). Jetzt
habe ich die Idee bekommen, einfach die System-ID beim start
zu prüfen. Nur leider weiß ich nicht, wie man an die System-ID
herankommt. Ich brauche die System-ID einfach nur in
irgendeiner bestimmten Zeile, der Rest steht.

Hi Malte,
was ist denn die System-ID?
Würds dir reichen den Usernamen abzuprüfen?
Gruß
Reinhard

hi,
ist zwar nicht die System-ID (was auch immer das sein soll) aber genauso eindeutig:
http://xlfaq.herber.de/texte/063599h.htm
cu Micha

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi
Die System-Id ist der Code, der unter „systemsteuerung/system/allgemein…“ unter registriert für und den namen angezeigt wird. ich weiß nicht genau, wie man den code nennt, aber ich denke, es sollte auch die festplatten-id reichen…
aber wenn jemandw weiß, wie ich in excel an den code herankomme :smile:

danke erstmla, mfg malte

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Die System-Id ist der Code, der unter
„systemsteuerung/system/allgemein…“ unter registriert für
und den namen angezeigt wird. ich weiß nicht genau, wie man
den code nennt, aber ich denke, es sollte auch die
festplatten-id reichen…
aber wenn jemandw weiß, wie ich in excel an den code
herankomme :smile:

Hi Malte,
ich habe da noch nichts ausgetestet aber im Inet nachfolgenden Code gefunden, ohne den zu testen, hilft er dir weiter?
Gruß
Reinhard

Private Declare Function GetVolumeInformation Lib „kernel32“ Alias _
„GetVolumeInformationA“ (ByVal lpRootPathName As String, ByVal _
lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, _
lpVolumeSerialNumber As Long, lpMaximumComponentLenght As Long, _
lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, _
ByVal nFileSystemNameSize As Long) As Long

Function VolSerialNoTest()
’ Testet, ob die Seriennummer mit der fest einprogrammierten Seriennummer
’ übereinstimmt

Dim lpRootPathName As String
Dim IngRet As Long
Dim lpVolumeNameBuffer As String
Dim nVolumeNameSize As Long
Dim lpVolumeSerialNumber As Long
Dim lpMaximumComponentLenght As Long
Dim lpFileSystemFlags As Long
Dim lpFileSystemNameBuffer As String
Dim nFileSystemNameSize As Long
Dim answer As Integer

lpRootPathName = „C:“
IngRet = GetVolumeInformation(lpRootPathName, lpVolumeNameBuffer, _
nVolumeNameSize, lpVolumeSerialNumber, lpMaximumComponentLenght, _
lpFileSystemFlags, lpFileSystemNameBuffer, nFileSystemNameSize)

Rem für 11111 ist die Seriennummer einzusetzen

If IngRet 0 Then
If lpVolumeSerialNumber 11111 Then
answer = MsgBox("Sie haben keine Berechtigung dieses Programm " & _
„auf diesem Computer auszuführen.“, vbExclamation, „Hinweis !“)
DoCmd.Quit
End If
End If

End Function

Function VolSerialNoErm(lpRootPathName As String, Deci As Boolean)

’ Seriennummer eines Laufwerks ermitteln
’ Laufwerk übergeben. Wenn Deci = False, dann wird ein Hex-Wert mit
’ Bindestrich in der Mitte z.B.: „2AB1-1234“ zurückgegeben
’ Bei Deci = True wird der Dezimalwert zurückgegeben.
’ LpRootPathName ist der Laufwerksbuchstabe z.B. „C:“
’ 21.02.1998 Ober

Dim IngRet As Long
Dim lpVolumeNameBuffer As String
Dim nVolumeNameSize As Long
Dim lpVolumeSerialNumber As Long
Dim lpMaximumComponentLenght As Long
Dim lpFileSystemFlags As Long
Dim lpFileSystemNameBuffer As String
Dim nFileSystemNameSize As Long
Dim answer As Integer
Dim tmp1 As String

IngRet = GetVolumeInformation(lpRootPathName, lpVolumeNameBuffer, _
nVolumeNameSize, lpVolumeSerialNumber, lpMaximumComponentLenght, _
lpFileSystemFlags, lpFileSystemNameBuffer, nFileSystemNameSize)

If Deci Then
VolSerialNoErm = lpVolumeSerialNumber
Else
tmp1 = Right(„00000000“ & Hex(lpVolumeSerialNumber), 8)
VolSerialNoErm = Left(tmp1, 4) & „-“ & Right(tmp1, 4)
End If

End Function

hm. ja, werd mich dann wohl mal mit vb dahinschlagen müssen. danke. so dringend ist es aber nicht mehr, weil ich habe inzwischen andere möglichkeiten zum programmschutz gefunden. aber danke an alle hilfen hier :smile:
machts gut, mfg, malte

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]