Savoir si un disque est un SSD

Résolu
cs_LycanOSX Messages postés 58 Date d'inscription mardi 21 septembre 2010 Statut Membre Dernière intervention 14 juillet 2013 - 22 déc. 2012 à 22:27
cs_LycanOSX Messages postés 58 Date d'inscription mardi 21 septembre 2010 Statut Membre Dernière intervention 14 juillet 2013 - 26 déc. 2012 à 22:00
Bonjour tout le monde, je travaille actuellement sur une application, qui doit savoir si le disque dur principale (celui avec le Windows) est un SSD. J'ai cherché mais je n'ai pas trouvé de méthode. Quelqu'un pourrait il m'aider s'il vous plait? Merci!

6 réponses

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
23 déc. 2012 à 02:26
En passant, ça peut s'optimiser ainsi :
'Dim...
Dim str1 As String 'pas besoin d'init.
'[...]
process1.Close
If Strings.Left(str1, 23) "DisableDeleteNotify 0" Then
    Return True
Else
    Return False
End If


J'ai lu ailleurs que parfois, on pouvait trouver 'SSD' dans le modèle.
Ca devrait se trouver quelque part dans les propriétés (SMART, p-ê) du disque.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
3
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
22 déc. 2012 à 22:56
Deux façons à mon sens :
* Tester la vitesse du DD. Si ça se traine (suffit de définir un seuil), c'est un HDD.
* Regarder si TRIM est activé (la commande fsutil behavior query disabledeletenotify
le fait^, bien que ça ne soit pas selon moi la meilleure façon de le déterminer en VB).

(^) le paramètre sera à 1 si désactivé, 0 si activé.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
cs_LycanOSX Messages postés 58 Date d'inscription mardi 21 septembre 2010 Statut Membre Dernière intervention 14 juillet 2013 3
22 déc. 2012 à 23:21
La second méthode me semble bonne, mais comment connaitre la valeur que retourne une commande de console en vb? Je ne l'ai jamais fait! Merci beaucoup!
0
cs_LycanOSX Messages postés 58 Date d'inscription mardi 21 septembre 2010 Statut Membre Dernière intervention 14 juillet 2013 3
23 déc. 2012 à 01:03
Etant bloqué j'ai bidouillé ce code en décompilant SDD Tweak et j'ai trouvé ça pour vérifier si la TRIM est active:
    Function CheckTrim()
        Dim process1 As Process = New Process()
        Dim str1 As String = ""

        Try
            process1.StartInfo.FileName = "cmd.exe"
            process1.StartInfo.Arguments = "/c fsutil behavior query DisableDeleteNotify"
            process1.StartInfo.UseShellExecute = False
            process1.StartInfo.RedirectStandardOutput = True
            process1.StartInfo.CreateNoWindow = True
            process1.Start()
            str1 = process1.StandardOutput.ReadToEnd()
            process1.Close()

            Dim str2 As String = Strings.Left(str1, 23)
            If str2 "DisableDeleteNotify 0" Then
                Return True
            ElseIf str2 "DisableDeleteNotify 1" Then
                Return False
            Else
                Return False
            End If
        Catch ex As Exception
            Return False
        End Try

    End Function


Biensur, je me suis rendu compte que mon programme aurais vraiment besoin de savoir si mon disque est un SSD et non si la trim est active. Et que ce code ne m'est pas très utile finalement. Alors si quelqu'un trouve comment savoir si le disque est un SSD, qu'il le dise! :) Merci infiniment!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
23 déc. 2012 à 02:22
Si TRIM est activé, c'est d'office un SSD (vu que ça n'existe pas pour les HDD).
Reste à savoir si c'est activé automatiquement... J'avais cru lire quelque part
que c'était le cas pour Win8, mais je ne retrouve plus l'info

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
cs_LycanOSX Messages postés 58 Date d'inscription mardi 21 septembre 2010 Statut Membre Dernière intervention 14 juillet 2013 3
26 déc. 2012 à 22:00
Excusez moi j'ai était absent quelques temps! Merci pour les infos! Je vais finir de me renseigner la dessus et je finirais bien par trouver! Merci!
0
Rejoignez-nous