Millähän ohjelmanpätkällä (VB) voisi xp:n rekisteristä lukea sen kullekin koneele yksilöllisen
aktivoidun numerosarjan.??
aktivoidun numerosarjan.??
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 3
Vanhimmat
1. Windowsin sarjanumero löytyy rekisteristä
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionProductId
tai NT:ssä
HKEY_LOCAL_MACHINESoftwareMicrosoftWinntCurrentVersionProductId
2. Rekisterin lukeminen
Imuroi Microsoftilta rekisterin käsittelyyn tarkoitettu ActiveX-komponentti osoitteesta:
http://msdn.microsoft.com/vbasic/downloads/addins/componets/default.aspx
Käyttöohjeet lienevät paketissa mukana.
3. Muista, että Windowsin sarjanumero saattaa vaihtua uudelleenasennuksen ja/tai -aktivoinnin yhteydessä.
Mikäli haluat sitoa ohjelmaan yhteen koneeseen, parempi (tosin monimutkaisempi) vaihtoehto voisi ehkä olla verkkokortin, kovalevyn ja/tai prosessorin sarjanumero.
Mistähän kovon numeron loihtisi ?
T:S...
Tämän funktion _pitäisi_ palauttaa kovalevyn sarjanumero, eikä formatoidun osion sarjanumeroa. Toivottavasti toimii :)
Private Declare Function GetVolumeInformation Lib "kernel32" _
Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, _
ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, _
lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long,_
lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, _
ByVal nFileSystemNameSize As Long) As Long
Public Function DriveSerialNumber(strDrive As String) As String
Dim x As Long, lngSerialNum As Long
Dim strRoot As String
strRoot = Left$(strDrive, 1) & ":"
x = GetVolumeInformation(strRoot, "", 0, lngSerialNum, 0, 0, "", 0)
DriveSerialNumber = Hex$(lngSerialNum)
End Function