Question : Recherchant le vrai numéro de série de disque dur et en toute condition pour toute unité de disque dur

Bonjour, le

I AM using VB.NET dans VS2005 et l'essai d'obtenir le fabricant a assigné le numéro de série (inchangeable) du disque dur. J'emploierai cette identification pour la protection de distribution de mon nombre de software.

The ne devrais pas être le disque dur VolumeSerialNumber de la cloison qui peut être attribuée à nouveau par le logiciel methods.

I AM travaillant sur ce problème pendant une période et a recherché quelques solutions que le premier est « using WMI » par la valeur « Win32_physicalmedia ». Mais cette méthode renvoie le numéro de série en tant que blanc pour quelques harddrives ou pour une certaine configuration de PC (je ne pourrais pas trouver que la raison réelle de elle fait ainsi mais je suis chanceux pour la trouver me produire sur mon PC de développement). Il y a beaucoup de différents exemples de WMI, par exemple le suivant ;
---
Dim TheSearcher comme ManagementObjectSearcher = nouveau

For de ManagementObjectSearcher (« SELECT * de Win32_PhysicalMedia ») chaque wmi_HD comme ManagementObject dans le
MessageBox.Show de TheSearcher.Get ()
Next
(de wmi_HD (« SerialNumber"))---le
It renvoie une corde vide dans mon PC, mais les retours le fabricant réel ont assigné la publication périodique une fois courus à mes collègues PC's.

And la deuxième méthode que j'ai trouvée ; Using CreateFile de « kernel32.dll » api. Il est n'importe quoi de pareil (pas le plein code donné ici parce que l'exemple original est long, juste pour donner une idée au sujet de l'exemple) ;
---le
Private déclarent la bibliothèque « kernel32 » dit « CreateFileA » de CreateFile de fonction (lpFileName de ByVal comme dwDesiredAccess de corde, de ByVal comme dwShareMode de nombre entier, de ByVal comme lpSecurityAttributes de nombre entier, de ByVal comme dwCreationDisposition de nombre entier, de ByVal comme dwFlagsAndAttributes de nombre entier, de ByVal comme nombre entier, ByVal hTemplateFile comme nombre entier) comme Integer

handle = CreateFile ( » \ \. \ PhysicalDrive " et « 0 », HDDID_GENERIC_READ + HDDID_GENERIC_WRITE, HDDID_FILE_SHARE_READ + HDDID_FILE_SHARE_WRITE, 0,
serialNumber =
rialNumber)/>model =
de
CloseHandle (poignée) de HDDID_SwapChars (sco.IDS.ModelNumber)---le
It fonctionne pour tous les disques que j'ai, mais la fonction de « CreateFile » ne fonctionne pas une fois ouverte une session avec des privilèges administratifs limités (c.-à-d. ouvert une session en tant que compte d'utilisateur limité dans Windows).

Is là une troisième méthode qui travaille en toutes les conditions ? Ou un tour à faire au-dessus des exemples working.
class= de

Réponse : Recherchant le vrai numéro de série de disque dur et en toute condition pour toute unité de disque dur

Nous avons eu ce genre de matière un certain mois/il y a année où la conclusion était :
- Using plus de 1 figure avec une validation de N-1/N peut fortement réduire l'appui de permis
- Les figures peuvent venir des publications périodiques ou plein numéro de type de : NIC, HDD, MB

Ex d'une règle de validation : Employer le MAC address de réseau + le modèle de HDD + le modèle de GPU ; valider le permis et mettre à jour les chiffres de référence de permis si 2 de 3 sont valides (le même MAC address + un HDD a le même modèle + le même modèle de GPU)
Le ==> ainsi votre « mauvais » utilisateur doivent savoir le MAC address et acheter l'exact le mêmes HDD ou GPU du concessionnaire qui ajoutent une certains vrais complexité et prix à la piraterie
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us