Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
Windows Server 2000/2003/2008, IIS
Leggere il seriale dell'HD da Windows server 2003
martedì 30 giugno 2009 - 09.33
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Barabas
Profilo
| Junior Member
102
messaggi | Data Invio:
mar 30 giu 2009 - 09:33
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
214
messaggi | Data Invio:
mar 30 giu 2009 - 11:05
in che modo leggi il seriale dell'harddisk?
Barabas
Profilo
| Junior Member
102
messaggi | Data Invio:
mar 30 giu 2009 - 12:46
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
Torna su
Stanze Forum
Elenco Threads
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 !