Leggere il seriale dell'HD da Windows server 2003

martedì 30 giugno 2009 - 09.33

Barabas Profilo | Junior Member

salve a tutti,
per proteggere il software ho sviluppato una piccola applicazione che legge il seriale dell'hard disk, niente di particolare una form 2 bottoni e una textbox in vb.net. i due bottoni usano metodi diversi per leggere il seriale (posto il codice di seguito), ma sempre tramite WMI.
funziona bene su windows XP ma su Windows Server 2003 mi dà eccezione
il primo metodo mi dice "INITIALIZATION FAILURE"
il secondo "IMPOSSIBILE CREARE IL COMPONENTE ACTIVEX"

non riesco a capire se dipenda dal sistema operativo o dagli hard disk che sono 2 in raid, ma in entrambi i casi la funzione che controlla se il WMI è installato dice che c'è.

qualcuno mi può dare un a mano?
Grazie in anticipo

questo è il codice del primo metodo

Dim y As String = ""
Try

Dim searcher As ManagementObjectSearcher

searcher = New ManagementObjectSearcher("root\CIMV2", "SELECT * FROM Win32_PhysicalMedia")

For Each queryObj As ManagementObject In searcher.Get()
y = queryObj("SerialNumber").ToString()
y = y.Trim()
Next
Catch ex As Exception
MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try

questo è il codice del secondo metodo:

Private Function GetSerialInfo(ByVal device As String) As String
Dim objs As Object
Dim obj As Object
Dim WMI As Object
Dim sAns As String = ""

WMI = GetObject("WinMgmts:")
objs = WMI.InstancesOf("Win32_" & device)
For Each obj In objs
sAns = sAns & obj.SerialNumber & vbCrLf
Next

GetSerialInfo = Replace$(sAns, " ", "")
End Function

Function IsWMIInstalled() As Boolean
'Restituisce True se è presente Microsoft Windows
'Management Instrumentation:

Dim oTemp
On Error Resume Next

oTemp = CreateObject("WbemScripting.sWbemLocator")

IsWMIInstalled = (Err.Number <> 429)

If Err.Number = 429 Then
Err.Clear()
Else
oTemp = Nothing
End If
End Function


Barabas

the_driver Profilo | Senior Member

in che modo leggi il seriale dell'harddisk?

Barabas Profilo | Junior Member

ho postato il codice, c'è una form con 2 bottoni e una text box
clicchi sul bottone e quello esegue il codice nell'evento button.click...
Barabas
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5