Savoir si un disque est un SSD [Résolu]

Messages postés
58
Date d'inscription
mardi 21 septembre 2010
Dernière intervention
14 juillet 2013
- - Dernière réponse : cs_LycanOSX
Messages postés
58
Date d'inscription
mardi 21 septembre 2010
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!
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Dernière intervention
30 juin 2013
21
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_ghuysmans99
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Dernière intervention
30 juin 2013
21
0
Merci
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
Commenter la réponse de cs_ghuysmans99
Messages postés
58
Date d'inscription
mardi 21 septembre 2010
Dernière intervention
14 juillet 2013
4
0
Merci
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!
Commenter la réponse de cs_LycanOSX
Messages postés
58
Date d'inscription
mardi 21 septembre 2010
Dernière intervention
14 juillet 2013
4
0
Merci
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!
Commenter la réponse de cs_LycanOSX
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Dernière intervention
30 juin 2013
21
0
Merci
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
Commenter la réponse de cs_ghuysmans99
Messages postés
58
Date d'inscription
mardi 21 septembre 2010
Dernière intervention
14 juillet 2013
4
0
Merci
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!
Commenter la réponse de cs_LycanOSX

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.