uflex Posted May 15, 2013 Share Posted May 15, 2013 My disk is a SSD. How to tell SSD from HD? In registry , the disk items under LM/SYSTEM/CurrentControlSet/Services/Disk/Enum/ is offen SCSIxxxxxx (in OS or PE)。 Anyonw knows the exact way? Link to comment Share on other sites More sharing options...
stormbreaker Posted May 15, 2013 Share Posted May 15, 2013 Wish I had time to translate this: http://emoacht.wordpress.com/2012/11/06/csharp-ssd/ Still I think someone shall be able to do it. ---------------------------------------- :bye: Hey there, was I helpful? ---------------------------------------- My Current OS: Win8 PRO (64-bit); Current AutoIt Version: v3.3.8.1 Link to comment Share on other sites More sharing options...
uflex Posted May 15, 2013 Author Share Posted May 15, 2013 Wish I had time to translate this: http://emoacht.wordpress.com/2012/11/06/csharp-ssd/ Still I think someone shall be able to do it. Are you sure that the website is reachable? Link to comment Share on other sites More sharing options...
PhoenixXL Posted May 15, 2013 Share Posted May 15, 2013 (edited) If you can't get the file. I have it here attached. File.txt Edited May 15, 2013 by PhoenixXL My code: PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners. MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression. Link to comment Share on other sites More sharing options...
GreenCan Posted May 15, 2013 Share Posted May 15, 2013 You may want to have a look at thus UDF: Drive Info UDFs download DriveInfo.au3 and run the following script expandcollapse popup#include "DriveInfo.au3" #Include <Array.au3> Global $sInfo = "" GUICreate("_DriveGetDiskDrive", 800, 600) $LIST = GUICtrlCreateListView("Info|Type", 0, 0, 800, 600) GUISetState() Dim $aDiskDrive _DriveGetDiskDrive($aDiskDrive) For $i = 1 To $aDiskDrive[0][0] GUICtrlCreateListViewItem("Drive "&$i&"|Drive "&$i,$LIST) GUICtrlCreateListViewItem("",$LIST) GUICtrlCreateListViewItem("Availability|"&_DriveTranslateAvailability($aDiskDrive[$i][0]),$LIST) GUICtrlCreateListViewItem("BytesPerSector|"&$aDiskDrive[$i][1],$LIST) GUICtrlCreateListViewItem("Capabilities|"&_DriveTranslateCapabilities($aDiskDrive[$i][2]),$LIST) GUICtrlCreateListViewItem("CapabilityDescriptions|"&_ArrayToString($aDiskDrive[$i][3],", "),$LIST) GUICtrlCreateListViewItem("Caption|"&$aDiskDrive[$i][4],$LIST) GUICtrlCreateListViewItem("CompressionMethod|"&$aDiskDrive[$i][5],$LIST) GUICtrlCreateListViewItem("ConfigManagerErrorCode|"&_DriveTranslateConfigManagerErrorCode($aDiskDrive[$i][6]),$LIST) GUICtrlCreateListViewItem("ConfigManagerUserConfig|"&_DriveTranslateConfigManagerUserConfig($aDiskDrive[$i][7]),$LIST) GUICtrlCreateListViewItem("CreationClassName|"&$aDiskDrive[$i][8],$LIST) GUICtrlCreateListViewItem("DefaultBlockSize|"&$aDiskDrive[$i][9],$LIST) GUICtrlCreateListViewItem("Description|"&$aDiskDrive[$i][10],$LIST) GUICtrlCreateListViewItem("DeviceID|"&$aDiskDrive[$i][11],$LIST) GUICtrlCreateListViewItem("ErrorCleared|"&$aDiskDrive[$i][12],$LIST) GUICtrlCreateListViewItem("ErrorDescription|"&$aDiskDrive[$i][13],$LIST) GUICtrlCreateListViewItem("ErrorMethodology|"&$aDiskDrive[$i][14],$LIST) GUICtrlCreateListViewItem("Index|"&$aDiskDrive[$i][15],$LIST) GUICtrlCreateListViewItem("InstallDate|"&$aDiskDrive[$i][16],$LIST) GUICtrlCreateListViewItem("InterfaceType|"&$aDiskDrive[$i][17],$LIST) GUICtrlCreateListViewItem("LastErrorCode|"&$aDiskDrive[$i][18],$LIST) GUICtrlCreateListViewItem("Manufacturer|"&$aDiskDrive[$i][19],$LIST) GUICtrlCreateListViewItem("MaxBlockSize|"&$aDiskDrive[$i][20],$LIST) GUICtrlCreateListViewItem("MaxMediaSize|"&$aDiskDrive[$i][21],$LIST) GUICtrlCreateListViewItem("MediaLoaded|"&_DriveTranslateMediaLoaded($aDiskDrive[$i][22]),$LIST) GUICtrlCreateListViewItem("MediaType|"&$aDiskDrive[$i][23],$LIST) GUICtrlCreateListViewItem("MinBlockSize|"&$aDiskDrive[$i][24],$LIST) GUICtrlCreateListViewItem("Model|"&$aDiskDrive[$i][25],$LIST) GUICtrlCreateListViewItem("Name|"&$aDiskDrive[$i][26],$LIST) GUICtrlCreateListViewItem("NeedsCleaning|"&$aDiskDrive[$i][27],$LIST) GUICtrlCreateListViewItem("NumberOfMediaSupported|"&$aDiskDrive[$i][28],$LIST) GUICtrlCreateListViewItem("Partitions|"&$aDiskDrive[$i][29],$LIST) GUICtrlCreateListViewItem("PNPDeviceID|"&$aDiskDrive[$i][30],$LIST) GUICtrlCreateListViewItem("PowerManagementCapabilities|"&_DriveTranslatePowerManagementCapabilities($aDiskDrive[$i][31]),$LIST) GUICtrlCreateListViewItem("PowerManagementSupported|"&$aDiskDrive[$i][32],$LIST) GUICtrlCreateListViewItem("SCSIBus|"&$aDiskDrive[$i][33],$LIST) GUICtrlCreateListViewItem("SCSILogicalUnit|"&$aDiskDrive[$i][34],$LIST) GUICtrlCreateListViewItem("SCSIPort|"&$aDiskDrive[$i][35],$LIST) GUICtrlCreateListViewItem("SCSITargetId|"&$aDiskDrive[$i][36],$LIST) GUICtrlCreateListViewItem("SectorsPerTrack|"&$aDiskDrive[$i][37],$LIST) GUICtrlCreateListViewItem("Signature|"&$aDiskDrive[$i][38],$LIST) GUICtrlCreateListViewItem("Size|"&$aDiskDrive[$i][39],$LIST) GUICtrlCreateListViewItem("Status|"&$aDiskDrive[$i][40],$LIST) GUICtrlCreateListViewItem("StatusInfo|"&_DriveTranslateStatusInfo($aDiskDrive[$i][41]),$LIST) GUICtrlCreateListViewItem("SystemCreationClassName|"&$aDiskDrive[$i][42],$LIST) GUICtrlCreateListViewItem("SystemName|"&$aDiskDrive[$i][43],$LIST) GUICtrlCreateListViewItem("TotalCylinders|"&$aDiskDrive[$i][44],$LIST) GUICtrlCreateListViewItem("TotalHeads|"&$aDiskDrive[$i][45],$LIST) GUICtrlCreateListViewItem("TotalSectors|"&$aDiskDrive[$i][46],$LIST) GUICtrlCreateListViewItem("TotalTracks|"&$aDiskDrive[$i][47],$LIST) GUICtrlCreateListViewItem("TracksPerCylinder|"&$aDiskDrive[$i][48],$LIST) GUICtrlCreateListViewItem("",$LIST) LogIt("Drive " & $i & ": Drive "&$i) LogIt("") LogIt("bAvailability: " & _DriveTranslateAvailability($aDiskDrive[$i][0])) LogIt("BytesPerSector: " & $aDiskDrive[$i][1]) LogIt("Capabilities: " & _DriveTranslateCapabilities($aDiskDrive[$i][2])) LogIt("CapabilityDescriptions: " & _ArrayToString($aDiskDrive[$i][3],", ")) LogIt("Caption: " & $aDiskDrive[$i][4]) LogIt("CompressionMethod: " & $aDiskDrive[$i][5]) LogIt("ConfigManagerErrorCode: " & _DriveTranslateConfigManagerErrorCode($aDiskDrive[$i][6])) LogIt("ConfigManagerUserConfig: " & _DriveTranslateConfigManagerUserConfig($aDiskDrive[$i][7])) LogIt("CreationClassName: " & $aDiskDrive[$i][8]) LogIt("DefaultBlockSize: " & $aDiskDrive[$i][9]) LogIt("Description: " & $aDiskDrive[$i][10]) LogIt("DeviceID: " & $aDiskDrive[$i][11]) LogIt("ErrorCleared: " & $aDiskDrive[$i][12]) LogIt("ErrorDescription: " & $aDiskDrive[$i][13]) LogIt("ErrorMethodology: " & $aDiskDrive[$i][14]) LogIt("Index: " & $aDiskDrive[$i][15]) LogIt("InstallDate: " & $aDiskDrive[$i][16]) LogIt("InterfaceType: " & $aDiskDrive[$i][17]) LogIt("LastErrorCode: " & $aDiskDrive[$i][18]) LogIt("Manufacturer: " & $aDiskDrive[$i][19]) LogIt("MaxBlockSize: " & $aDiskDrive[$i][20]) LogIt("MaxMediaSize: " & $aDiskDrive[$i][21]) LogIt("MediaLoaded: " & _DriveTranslateMediaLoaded($aDiskDrive[$i][22])) LogIt("MediaType: " & $aDiskDrive[$i][23]) LogIt("MinBlockSize: " & $aDiskDrive[$i][24]) LogIt("Model: " & $aDiskDrive[$i][25]) LogIt("Name: " & $aDiskDrive[$i][26]) LogIt("NeedsCleaning: " & $aDiskDrive[$i][27]) LogIt("NumberOfMediaSupported: " & $aDiskDrive[$i][28]) LogIt("Partitions: " & $aDiskDrive[$i][29]) LogIt("PNPDeviceID: " & $aDiskDrive[$i][30]) LogIt("PowerManagementCapabilities: " & _DriveTranslatePowerManagementCapabilities($aDiskDrive[$i][31])) LogIt("PowerManagementSupported: " & $aDiskDrive[$i][32]) LogIt("SCSIBus: " & $aDiskDrive[$i][33]) LogIt("SCSILogicalUnit: " & $aDiskDrive[$i][34]) LogIt("SCSIPort: " & $aDiskDrive[$i][35]) LogIt("SCSITargetId: " & $aDiskDrive[$i][36]) LogIt("SectorsPerTrack: " & $aDiskDrive[$i][37]) LogIt("Signature: " & $aDiskDrive[$i][38]) LogIt("Size: " & $aDiskDrive[$i][39]) LogIt("Status: " & $aDiskDrive[$i][40]) LogIt("StatusInfo: " & _DriveTranslateStatusInfo($aDiskDrive[$i][41])) LogIt("SystemCreationClassName: " & $aDiskDrive[$i][42]) LogIt("SystemName: " & $aDiskDrive[$i][43]) LogIt("TotalCylinders: " & $aDiskDrive[$i][44]) LogIt("TotalHeads: " & $aDiskDrive[$i][45]) LogIt("TotalSectors: " & $aDiskDrive[$i][46]) LogIt("TotalTracks: " & $aDiskDrive[$i][47]) LogIt("TracksPerCylinder: " & $aDiskDrive[$i][48]) LogIt("") Next ConsoleWrite($sInfo & @CRLF) Local $file = FileOpen(@ScriptDir & "\drives.log", 2) If $file = -1 Then Exit MsgBox(0, "Error", "Unable to open file " & @ScriptDir & "\drives.log") FileWrite($file, $sInfo) FileClose($file) While GUIGetMsg() <> -3 Sleep(10) WEnd Func LogIt($sText) $sInfo &= $sText & @CRLF EndFunc The script will create a log file and this is what I got on a laptop with SSD expandcollapse popupDrive 1: Drive 1 bAvailability: BytesPerSector: 512 Capabilities: Random Access, Supports Writing, SMART Notification CapabilityDescriptions: Random Access, Supports Writing, SMART Notification Caption: SAMSUNG SSD Thin uSATA 6 CompressionMethod: ConfigManagerErrorCode: Device is working properly. ConfigManagerUserConfig: The device is not using a user-defined configuration CreationClassName: Win32_DiskDrive DefaultBlockSize: Description: Disk drive DeviceID: \\.\PHYSICALDRIVE0 ErrorCleared: ErrorDescription: ErrorMethodology: Index: 0 InstallDate: InterfaceType: SCSI LastErrorCode: Manufacturer: (Standard disk drives) MaxBlockSize: MaxMediaSize: MediaLoaded: The device has a readable file system or is accessible. MediaType: Fixed hard disk media MinBlockSize: Model: SAMSUNG SSD Thin uSATA 6 Name: \\.\PHYSICALDRIVE0 NeedsCleaning: NumberOfMediaSupported: Partitions: 2 PNPDeviceID: IDE\DISKSAMSUNG_SSD_THIN_USATA_64GB_M___________VAM05D1Q\4&14338D07&0&0.0.0 PowerManagementCapabilities: Unknown PowerManagementSupported: SCSIBus: 0 SCSILogicalUnit: 0 SCSIPort: 0 SCSITargetId: 0 SectorsPerTrack: 63 Signature: 2073846029 Size: 64017354240 Status: OK StatusInfo: SystemCreationClassName: Win32_ComputerSystem SystemName: EFRAS-LAPTOP TotalCylinders: 7783 TotalHeads: 255 TotalSectors: 125033895 TotalTracks: 1984665 TracksPerCylinder: 255 Drive 2: Drive 2 bAvailability: BytesPerSector: 512 Capabilities: Random Access, Supports Writing, Supports Removable Media CapabilityDescriptions: Random Access, Supports Writing, Supports Removable Media Caption: USB Flash Disk USB Device CompressionMethod: ConfigManagerErrorCode: Device is working properly. ConfigManagerUserConfig: The device is not using a user-defined configuration CreationClassName: Win32_DiskDrive DefaultBlockSize: Description: Disk drive DeviceID: \\.\PHYSICALDRIVE1 ErrorCleared: ErrorDescription: ErrorMethodology: Index: 1 InstallDate: InterfaceType: USB LastErrorCode: Manufacturer: (Standard disk drives) MaxBlockSize: MaxMediaSize: MediaLoaded: The device has a readable file system or is accessible. MediaType: Removable Media MinBlockSize: Model: USB Flash Disk USB Device Name: \\.\PHYSICALDRIVE1 NeedsCleaning: NumberOfMediaSupported: Partitions: 1 PNPDeviceID: USBSTOR\DISK&VEN_USB&PROD_FLASH_DISK&REV_1100\FBG1207170739645&0 PowerManagementCapabilities: Unknown PowerManagementSupported: SCSIBus: SCSILogicalUnit: SCSIPort: SCSITargetId: SectorsPerTrack: 63 Signature: -1022939624 Size: 1998743040 Status: OK StatusInfo: SystemCreationClassName: Win32_ComputerSystem SystemName: EFRAS-LAPTOP TotalCylinders: 243 TotalHeads: 255 TotalSectors: 3903795 TotalTracks: 61965 TracksPerCylinder: 255 And this on a PC with 'normal' disk drives: expandcollapse popupDrive 1: Drive 1 bAvailability: BytesPerSector: 512 Capabilities: Random Access, Supports Writing CapabilityDescriptions: Random Access, Supports Writing Caption: ST9500423AS ATA Device CompressionMethod: ConfigManagerErrorCode: Device is working properly. ConfigManagerUserConfig: The device is not using a user-defined configuration CreationClassName: Win32_DiskDrive DefaultBlockSize: Description: Disk drive DeviceID: \\.\PHYSICALDRIVE0 ErrorCleared: ErrorDescription: ErrorMethodology: Index: 0 InstallDate: InterfaceType: IDE LastErrorCode: Manufacturer: (Standard disk drives) MaxBlockSize: MaxMediaSize: MediaLoaded: The device has a readable file system or is accessible. MediaType: Fixed hard disk media MinBlockSize: Model: ST9500423AS ATA Device Name: \\.\PHYSICALDRIVE0 NeedsCleaning: NumberOfMediaSupported: Partitions: 2 PNPDeviceID: IDE\DISKST9500423AS_____________________________0003DEM1\5&4818193&0&0.0.0 PowerManagementCapabilities: Unknown PowerManagementSupported: SCSIBus: 0 SCSILogicalUnit: 0 SCSIPort: 0 SCSITargetId: 0 SectorsPerTrack: 63 Signature: Size: 500105249280 Status: OK StatusInfo: SystemCreationClassName: Win32_ComputerSystem SystemName: BEGHE1LJKYW4S1 TotalCylinders: 60801 TotalHeads: 255 TotalSectors: 976768065 TotalTracks: 15504255 TracksPerCylinder: 255 Drive 2: Drive 2 bAvailability: BytesPerSector: 512 Capabilities: Random Access, Supports Writing CapabilityDescriptions: Random Access, Supports Writing Caption: SAMSUNG HD501LJ USB Device CompressionMethod: ConfigManagerErrorCode: Device is working properly. ConfigManagerUserConfig: The device is not using a user-defined configuration CreationClassName: Win32_DiskDrive DefaultBlockSize: Description: Disk drive DeviceID: \\.\PHYSICALDRIVE1 ErrorCleared: ErrorDescription: ErrorMethodology: Index: 1 InstallDate: InterfaceType: USB LastErrorCode: Manufacturer: (Standard disk drives) MaxBlockSize: MaxMediaSize: MediaLoaded: The device has a readable file system or is accessible. MediaType: External hard disk media MinBlockSize: Model: SAMSUNG HD501LJ USB Device Name: \\.\PHYSICALDRIVE1 NeedsCleaning: NumberOfMediaSupported: Partitions: 1 PNPDeviceID: USBSTOR\DISK&VEN_SAMSUNG&PROD_HD501LJ&REV_0-10\30754D306150&0 PowerManagementCapabilities: Unknown PowerManagementSupported: SCSIBus: SCSILogicalUnit: SCSIPort: SCSITargetId: SectorsPerTrack: 63 Signature: Size: 500105249280 Status: OK StatusInfo: SystemCreationClassName: Win32_ComputerSystem SystemName: BEGHE1LJKYW4S1 TotalCylinders: 60801 TotalHeads: 255 TotalSectors: 976768065 TotalTracks: 15504255 TracksPerCylinder: 255 Drive 3: Drive 3 bAvailability: BytesPerSector: 512 Capabilities: Random Access, Supports Writing, Supports Removable Media CapabilityDescriptions: Random Access, Supports Writing, Supports Removable Media Caption: USB Flash Disk USB Device CompressionMethod: ConfigManagerErrorCode: Device is working properly. ConfigManagerUserConfig: The device is not using a user-defined configuration CreationClassName: Win32_DiskDrive DefaultBlockSize: Description: Disk drive DeviceID: \\.\PHYSICALDRIVE2 ErrorCleared: ErrorDescription: ErrorMethodology: Index: 2 InstallDate: InterfaceType: USB LastErrorCode: Manufacturer: (Standard disk drives) MaxBlockSize: MaxMediaSize: MediaLoaded: The device has a readable file system or is accessible. MediaType: Removable Media MinBlockSize: Model: USB Flash Disk USB Device Name: \\.\PHYSICALDRIVE2 NeedsCleaning: NumberOfMediaSupported: Partitions: 1 PNPDeviceID: USBSTOR\DISK&VEN_USB&PROD_FLASH_DISK&REV_1100\FBG1207170739645&0 PowerManagementCapabilities: Unknown PowerManagementSupported: SCSIBus: SCSILogicalUnit: SCSIPort: SCSITargetId: SectorsPerTrack: 63 Signature: Size: 1998743040 Status: OK StatusInfo: SystemCreationClassName: Win32_ComputerSystem SystemName: BEGHE1LJKYW4S1 TotalCylinders: 243 TotalHeads: 255 TotalSectors: 3903795 TotalTracks: 61965 TracksPerCylinder: 255 I realize that this might not be what you are looking for but it's better than nothing Contributions CheckUpdate - SelfUpdating script ------- Self updating script Dynamic input validation ------------------- Use a Input masks can make your life easier and Validation can be as simple MsgBox with CountDown ------------------- MsgBox with visual countdown Display Multiline text cells in ListView ---- Example of pop-up or ToolTip for multiline text items in ListView Presentation Manager ---------------------- Program to display and refresh different Border-less GUI's on a Display (large screen TV) USB Drive Tools ------------------------------ Tool to help you with your USB drive management Input Period udf ------------------------------ GUI for a period input Excel ColorPicker ---------------------------- Color pickup tool will allow you to select a color from the standard Excel color palette Excel Chart UDF ----------------------------- Collaboration project with water GetDateInString ------------------------------ Find date/time in a string using a date format notation like DD Mon YYYY hh:mm TaskListAllDetailed --------------------------- List All Scheduled Tasks Computer Info --------------------------------- A collection of information for helpdesk Shared memory Demo ----------------------- Demo: Two applications communicate with each other through means of a memory share (using Nomad function, 32bit only) Universal Date Format Conversion -------- Universal date converter from your PC local date format to any format Disable Windows DetailsPane -------------- Disable Windows Explorer Details Pane Oracle SQL Report Generator ------------- Oracle Report generator using SQL SQLite Report Generator ------------------- SQLite Report generator using SQL SQLite ListView and BLOB demo ---------- Demo: shows how binary (image) objects can be recognized natively in a database BLOB field DSN-Less Database connection demo --- Demo: ActiveX Data Objects DSN-Less Database access Animated animals ----------------------------- Fun: Moving animated objects Perforated image in GUI --------------------- Fun: Perforate your image with image objects UEZ's Perforator major update ------------- Fun: Pro version of Perforator by UEZ Visual Crop Tool (GUI) ----------------------- Easy to use Visual Image Crop tool Visual Image effect (GUI) -------------------- Visually apply effects on an image Link to comment Share on other sites More sharing options...
guinness Posted May 15, 2013 Share Posted May 15, 2013 No need for WMI. Search the Forum for WinAPIEx by Yashied and look at the function_WinAPI_GetDriveBusType. You can see a working example here >> http://www.autoitscript.com/wiki/Snippets_(_Hardware_Information_)#GetDriveBusType UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
uflex Posted May 15, 2013 Author Share Posted May 15, 2013 You may want to have a look at thus UDF: Drive Info UDFs download DriveInfo.au3 and run the following script expandcollapse popup#include "DriveInfo.au3" #Include <Array.au3> Global $sInfo = "" GUICreate("_DriveGetDiskDrive", 800, 600) $LIST = GUICtrlCreateListView("Info|Type", 0, 0, 800, 600) GUISetState() Dim $aDiskDrive _DriveGetDiskDrive($aDiskDrive) For $i = 1 To $aDiskDrive[0][0] GUICtrlCreateListViewItem("Drive "&$i&"|Drive "&$i,$LIST) GUICtrlCreateListViewItem("",$LIST) GUICtrlCreateListViewItem("Availability|"&_DriveTranslateAvailability($aDiskDrive[$i][0]),$LIST) GUICtrlCreateListViewItem("BytesPerSector|"&$aDiskDrive[$i][1],$LIST) GUICtrlCreateListViewItem("Capabilities|"&_DriveTranslateCapabilities($aDiskDrive[$i][2]),$LIST) GUICtrlCreateListViewItem("CapabilityDescriptions|"&_ArrayToString($aDiskDrive[$i][3],", "),$LIST) GUICtrlCreateListViewItem("Caption|"&$aDiskDrive[$i][4],$LIST) GUICtrlCreateListViewItem("CompressionMethod|"&$aDiskDrive[$i][5],$LIST) GUICtrlCreateListViewItem("ConfigManagerErrorCode|"&_DriveTranslateConfigManagerErrorCode($aDiskDrive[$i][6]),$LIST) GUICtrlCreateListViewItem("ConfigManagerUserConfig|"&_DriveTranslateConfigManagerUserConfig($aDiskDrive[$i][7]),$LIST) GUICtrlCreateListViewItem("CreationClassName|"&$aDiskDrive[$i][8],$LIST) GUICtrlCreateListViewItem("DefaultBlockSize|"&$aDiskDrive[$i][9],$LIST) GUICtrlCreateListViewItem("Description|"&$aDiskDrive[$i][10],$LIST) GUICtrlCreateListViewItem("DeviceID|"&$aDiskDrive[$i][11],$LIST) GUICtrlCreateListViewItem("ErrorCleared|"&$aDiskDrive[$i][12],$LIST) GUICtrlCreateListViewItem("ErrorDescription|"&$aDiskDrive[$i][13],$LIST) GUICtrlCreateListViewItem("ErrorMethodology|"&$aDiskDrive[$i][14],$LIST) GUICtrlCreateListViewItem("Index|"&$aDiskDrive[$i][15],$LIST) GUICtrlCreateListViewItem("InstallDate|"&$aDiskDrive[$i][16],$LIST) GUICtrlCreateListViewItem("InterfaceType|"&$aDiskDrive[$i][17],$LIST) GUICtrlCreateListViewItem("LastErrorCode|"&$aDiskDrive[$i][18],$LIST) GUICtrlCreateListViewItem("Manufacturer|"&$aDiskDrive[$i][19],$LIST) GUICtrlCreateListViewItem("MaxBlockSize|"&$aDiskDrive[$i][20],$LIST) GUICtrlCreateListViewItem("MaxMediaSize|"&$aDiskDrive[$i][21],$LIST) GUICtrlCreateListViewItem("MediaLoaded|"&_DriveTranslateMediaLoaded($aDiskDrive[$i][22]),$LIST) GUICtrlCreateListViewItem("MediaType|"&$aDiskDrive[$i][23],$LIST) GUICtrlCreateListViewItem("MinBlockSize|"&$aDiskDrive[$i][24],$LIST) GUICtrlCreateListViewItem("Model|"&$aDiskDrive[$i][25],$LIST) GUICtrlCreateListViewItem("Name|"&$aDiskDrive[$i][26],$LIST) GUICtrlCreateListViewItem("NeedsCleaning|"&$aDiskDrive[$i][27],$LIST) GUICtrlCreateListViewItem("NumberOfMediaSupported|"&$aDiskDrive[$i][28],$LIST) GUICtrlCreateListViewItem("Partitions|"&$aDiskDrive[$i][29],$LIST) GUICtrlCreateListViewItem("PNPDeviceID|"&$aDiskDrive[$i][30],$LIST) GUICtrlCreateListViewItem("PowerManagementCapabilities|"&_DriveTranslatePowerManagementCapabilities($aDiskDrive[$i][31]),$LIST) GUICtrlCreateListViewItem("PowerManagementSupported|"&$aDiskDrive[$i][32],$LIST) GUICtrlCreateListViewItem("SCSIBus|"&$aDiskDrive[$i][33],$LIST) GUICtrlCreateListViewItem("SCSILogicalUnit|"&$aDiskDrive[$i][34],$LIST) GUICtrlCreateListViewItem("SCSIPort|"&$aDiskDrive[$i][35],$LIST) GUICtrlCreateListViewItem("SCSITargetId|"&$aDiskDrive[$i][36],$LIST) GUICtrlCreateListViewItem("SectorsPerTrack|"&$aDiskDrive[$i][37],$LIST) GUICtrlCreateListViewItem("Signature|"&$aDiskDrive[$i][38],$LIST) GUICtrlCreateListViewItem("Size|"&$aDiskDrive[$i][39],$LIST) GUICtrlCreateListViewItem("Status|"&$aDiskDrive[$i][40],$LIST) GUICtrlCreateListViewItem("StatusInfo|"&_DriveTranslateStatusInfo($aDiskDrive[$i][41]),$LIST) GUICtrlCreateListViewItem("SystemCreationClassName|"&$aDiskDrive[$i][42],$LIST) GUICtrlCreateListViewItem("SystemName|"&$aDiskDrive[$i][43],$LIST) GUICtrlCreateListViewItem("TotalCylinders|"&$aDiskDrive[$i][44],$LIST) GUICtrlCreateListViewItem("TotalHeads|"&$aDiskDrive[$i][45],$LIST) GUICtrlCreateListViewItem("TotalSectors|"&$aDiskDrive[$i][46],$LIST) GUICtrlCreateListViewItem("TotalTracks|"&$aDiskDrive[$i][47],$LIST) GUICtrlCreateListViewItem("TracksPerCylinder|"&$aDiskDrive[$i][48],$LIST) GUICtrlCreateListViewItem("",$LIST) LogIt("Drive " & $i & ": Drive "&$i) LogIt("") LogIt("bAvailability: " & _DriveTranslateAvailability($aDiskDrive[$i][0])) LogIt("BytesPerSector: " & $aDiskDrive[$i][1]) LogIt("Capabilities: " & _DriveTranslateCapabilities($aDiskDrive[$i][2])) LogIt("CapabilityDescriptions: " & _ArrayToString($aDiskDrive[$i][3],", ")) LogIt("Caption: " & $aDiskDrive[$i][4]) LogIt("CompressionMethod: " & $aDiskDrive[$i][5]) LogIt("ConfigManagerErrorCode: " & _DriveTranslateConfigManagerErrorCode($aDiskDrive[$i][6])) LogIt("ConfigManagerUserConfig: " & _DriveTranslateConfigManagerUserConfig($aDiskDrive[$i][7])) LogIt("CreationClassName: " & $aDiskDrive[$i][8]) LogIt("DefaultBlockSize: " & $aDiskDrive[$i][9]) LogIt("Description: " & $aDiskDrive[$i][10]) LogIt("DeviceID: " & $aDiskDrive[$i][11]) LogIt("ErrorCleared: " & $aDiskDrive[$i][12]) LogIt("ErrorDescription: " & $aDiskDrive[$i][13]) LogIt("ErrorMethodology: " & $aDiskDrive[$i][14]) LogIt("Index: " & $aDiskDrive[$i][15]) LogIt("InstallDate: " & $aDiskDrive[$i][16]) LogIt("InterfaceType: " & $aDiskDrive[$i][17]) LogIt("LastErrorCode: " & $aDiskDrive[$i][18]) LogIt("Manufacturer: " & $aDiskDrive[$i][19]) LogIt("MaxBlockSize: " & $aDiskDrive[$i][20]) LogIt("MaxMediaSize: " & $aDiskDrive[$i][21]) LogIt("MediaLoaded: " & _DriveTranslateMediaLoaded($aDiskDrive[$i][22])) LogIt("MediaType: " & $aDiskDrive[$i][23]) LogIt("MinBlockSize: " & $aDiskDrive[$i][24]) LogIt("Model: " & $aDiskDrive[$i][25]) LogIt("Name: " & $aDiskDrive[$i][26]) LogIt("NeedsCleaning: " & $aDiskDrive[$i][27]) LogIt("NumberOfMediaSupported: " & $aDiskDrive[$i][28]) LogIt("Partitions: " & $aDiskDrive[$i][29]) LogIt("PNPDeviceID: " & $aDiskDrive[$i][30]) LogIt("PowerManagementCapabilities: " & _DriveTranslatePowerManagementCapabilities($aDiskDrive[$i][31])) LogIt("PowerManagementSupported: " & $aDiskDrive[$i][32]) LogIt("SCSIBus: " & $aDiskDrive[$i][33]) LogIt("SCSILogicalUnit: " & $aDiskDrive[$i][34]) LogIt("SCSIPort: " & $aDiskDrive[$i][35]) LogIt("SCSITargetId: " & $aDiskDrive[$i][36]) LogIt("SectorsPerTrack: " & $aDiskDrive[$i][37]) LogIt("Signature: " & $aDiskDrive[$i][38]) LogIt("Size: " & $aDiskDrive[$i][39]) LogIt("Status: " & $aDiskDrive[$i][40]) LogIt("StatusInfo: " & _DriveTranslateStatusInfo($aDiskDrive[$i][41])) LogIt("SystemCreationClassName: " & $aDiskDrive[$i][42]) LogIt("SystemName: " & $aDiskDrive[$i][43]) LogIt("TotalCylinders: " & $aDiskDrive[$i][44]) LogIt("TotalHeads: " & $aDiskDrive[$i][45]) LogIt("TotalSectors: " & $aDiskDrive[$i][46]) LogIt("TotalTracks: " & $aDiskDrive[$i][47]) LogIt("TracksPerCylinder: " & $aDiskDrive[$i][48]) LogIt("") Next ConsoleWrite($sInfo & @CRLF) Local $file = FileOpen(@ScriptDir & "\drives.log", 2) If $file = -1 Then Exit MsgBox(0, "Error", "Unable to open file " & @ScriptDir & "\drives.log") FileWrite($file, $sInfo) FileClose($file) While GUIGetMsg() <> -3 Sleep(10) WEnd Func LogIt($sText) $sInfo &= $sText & @CRLF EndFunc The script will create a log file and this is what I got on a laptop with SSD expandcollapse popupDrive 1: Drive 1 bAvailability: BytesPerSector: 512 Capabilities: Random Access, Supports Writing, SMART Notification CapabilityDescriptions: Random Access, Supports Writing, SMART Notification Caption: SAMSUNG SSD Thin uSATA 6 CompressionMethod: ConfigManagerErrorCode: Device is working properly. ConfigManagerUserConfig: The device is not using a user-defined configuration CreationClassName: Win32_DiskDrive DefaultBlockSize: Description: Disk drive DeviceID: \\.\PHYSICALDRIVE0 ErrorCleared: ErrorDescription: ErrorMethodology: Index: 0 InstallDate: InterfaceType: SCSI LastErrorCode: Manufacturer: (Standard disk drives) MaxBlockSize: MaxMediaSize: MediaLoaded: The device has a readable file system or is accessible. MediaType: Fixed hard disk media MinBlockSize: Model: SAMSUNG SSD Thin uSATA 6 Name: \\.\PHYSICALDRIVE0 NeedsCleaning: NumberOfMediaSupported: Partitions: 2 PNPDeviceID: IDE\DISKSAMSUNG_SSD_THIN_USATA_64GB_M___________VAM05D1Q\4&14338D07&0&0.0.0 PowerManagementCapabilities: Unknown PowerManagementSupported: SCSIBus: 0 SCSILogicalUnit: 0 SCSIPort: 0 SCSITargetId: 0 SectorsPerTrack: 63 Signature: 2073846029 Size: 64017354240 Status: OK StatusInfo: SystemCreationClassName: Win32_ComputerSystem SystemName: EFRAS-LAPTOP TotalCylinders: 7783 TotalHeads: 255 TotalSectors: 125033895 TotalTracks: 1984665 TracksPerCylinder: 255 Drive 2: Drive 2 bAvailability: BytesPerSector: 512 Capabilities: Random Access, Supports Writing, Supports Removable Media CapabilityDescriptions: Random Access, Supports Writing, Supports Removable Media Caption: USB Flash Disk USB Device CompressionMethod: ConfigManagerErrorCode: Device is working properly. ConfigManagerUserConfig: The device is not using a user-defined configuration CreationClassName: Win32_DiskDrive DefaultBlockSize: Description: Disk drive DeviceID: \\.\PHYSICALDRIVE1 ErrorCleared: ErrorDescription: ErrorMethodology: Index: 1 InstallDate: InterfaceType: USB LastErrorCode: Manufacturer: (Standard disk drives) MaxBlockSize: MaxMediaSize: MediaLoaded: The device has a readable file system or is accessible. MediaType: Removable Media MinBlockSize: Model: USB Flash Disk USB Device Name: \\.\PHYSICALDRIVE1 NeedsCleaning: NumberOfMediaSupported: Partitions: 1 PNPDeviceID: USBSTOR\DISK&VEN_USB&PROD_FLASH_DISK&REV_1100\FBG1207170739645&0 PowerManagementCapabilities: Unknown PowerManagementSupported: SCSIBus: SCSILogicalUnit: SCSIPort: SCSITargetId: SectorsPerTrack: 63 Signature: -1022939624 Size: 1998743040 Status: OK StatusInfo: SystemCreationClassName: Win32_ComputerSystem SystemName: EFRAS-LAPTOP TotalCylinders: 243 TotalHeads: 255 TotalSectors: 3903795 TotalTracks: 61965 TracksPerCylinder: 255 And this on a PC with 'normal' disk drives: expandcollapse popupDrive 1: Drive 1 bAvailability: BytesPerSector: 512 Capabilities: Random Access, Supports Writing CapabilityDescriptions: Random Access, Supports Writing Caption: ST9500423AS ATA Device CompressionMethod: ConfigManagerErrorCode: Device is working properly. ConfigManagerUserConfig: The device is not using a user-defined configuration CreationClassName: Win32_DiskDrive DefaultBlockSize: Description: Disk drive DeviceID: \\.\PHYSICALDRIVE0 ErrorCleared: ErrorDescription: ErrorMethodology: Index: 0 InstallDate: InterfaceType: IDE LastErrorCode: Manufacturer: (Standard disk drives) MaxBlockSize: MaxMediaSize: MediaLoaded: The device has a readable file system or is accessible. MediaType: Fixed hard disk media MinBlockSize: Model: ST9500423AS ATA Device Name: \\.\PHYSICALDRIVE0 NeedsCleaning: NumberOfMediaSupported: Partitions: 2 PNPDeviceID: IDE\DISKST9500423AS_____________________________0003DEM1\5&4818193&0&0.0.0 PowerManagementCapabilities: Unknown PowerManagementSupported: SCSIBus: 0 SCSILogicalUnit: 0 SCSIPort: 0 SCSITargetId: 0 SectorsPerTrack: 63 Signature: Size: 500105249280 Status: OK StatusInfo: SystemCreationClassName: Win32_ComputerSystem SystemName: BEGHE1LJKYW4S1 TotalCylinders: 60801 TotalHeads: 255 TotalSectors: 976768065 TotalTracks: 15504255 TracksPerCylinder: 255 Drive 2: Drive 2 bAvailability: BytesPerSector: 512 Capabilities: Random Access, Supports Writing CapabilityDescriptions: Random Access, Supports Writing Caption: SAMSUNG HD501LJ USB Device CompressionMethod: ConfigManagerErrorCode: Device is working properly. ConfigManagerUserConfig: The device is not using a user-defined configuration CreationClassName: Win32_DiskDrive DefaultBlockSize: Description: Disk drive DeviceID: \\.\PHYSICALDRIVE1 ErrorCleared: ErrorDescription: ErrorMethodology: Index: 1 InstallDate: InterfaceType: USB LastErrorCode: Manufacturer: (Standard disk drives) MaxBlockSize: MaxMediaSize: MediaLoaded: The device has a readable file system or is accessible. MediaType: External hard disk media MinBlockSize: Model: SAMSUNG HD501LJ USB Device Name: \\.\PHYSICALDRIVE1 NeedsCleaning: NumberOfMediaSupported: Partitions: 1 PNPDeviceID: USBSTOR\DISK&VEN_SAMSUNG&PROD_HD501LJ&REV_0-10\30754D306150&0 PowerManagementCapabilities: Unknown PowerManagementSupported: SCSIBus: SCSILogicalUnit: SCSIPort: SCSITargetId: SectorsPerTrack: 63 Signature: Size: 500105249280 Status: OK StatusInfo: SystemCreationClassName: Win32_ComputerSystem SystemName: BEGHE1LJKYW4S1 TotalCylinders: 60801 TotalHeads: 255 TotalSectors: 976768065 TotalTracks: 15504255 TracksPerCylinder: 255 Drive 3: Drive 3 bAvailability: BytesPerSector: 512 Capabilities: Random Access, Supports Writing, Supports Removable Media CapabilityDescriptions: Random Access, Supports Writing, Supports Removable Media Caption: USB Flash Disk USB Device CompressionMethod: ConfigManagerErrorCode: Device is working properly. ConfigManagerUserConfig: The device is not using a user-defined configuration CreationClassName: Win32_DiskDrive DefaultBlockSize: Description: Disk drive DeviceID: \\.\PHYSICALDRIVE2 ErrorCleared: ErrorDescription: ErrorMethodology: Index: 2 InstallDate: InterfaceType: USB LastErrorCode: Manufacturer: (Standard disk drives) MaxBlockSize: MaxMediaSize: MediaLoaded: The device has a readable file system or is accessible. MediaType: Removable Media MinBlockSize: Model: USB Flash Disk USB Device Name: \\.\PHYSICALDRIVE2 NeedsCleaning: NumberOfMediaSupported: Partitions: 1 PNPDeviceID: USBSTOR\DISK&VEN_USB&PROD_FLASH_DISK&REV_1100\FBG1207170739645&0 PowerManagementCapabilities: Unknown PowerManagementSupported: SCSIBus: SCSILogicalUnit: SCSIPort: SCSITargetId: SectorsPerTrack: 63 Signature: Size: 1998743040 Status: OK StatusInfo: SystemCreationClassName: Win32_ComputerSystem SystemName: BEGHE1LJKYW4S1 TotalCylinders: 243 TotalHeads: 255 TotalSectors: 3903795 TotalTracks: 61965 TracksPerCylinder: 255 I realize that this might not be what you are looking for but it's better than nothing Thanks. But I want to get a way working in PE(no wmi) and OS. Perhaps [InterfaceType: SCSI] is the trail. Link to comment Share on other sites More sharing options...
uflex Posted May 15, 2013 Author Share Posted May 15, 2013 No need for WMI. Search the Forum for WinAPIEx by Yashied and look at the function_WinAPI_GetDriveBusType. You can see a working example here >> http://www.autoitscript.com/wiki/Snippets_(_Hardware_Information_)#GetDriveBusType My purpose is to check whether a disk is SSD. GetDriveBusType will return SATA , but it can not be the evidence . ? Link to comment Share on other sites More sharing options...
careca Posted May 16, 2013 Share Posted May 16, 2013 (edited) I got 2 SSD's out of 5 drives, and the drive name has the SSD in it, so i would use the drive name until something better came up. Oh, and btw, you could always copy a file to all hdds and check the time, anything under, i dont know, some seconds would be the ssd, the rest would be hdds. Edited May 16, 2013 by careca Spoiler Renamer - Rename files and folders, remove portions of text from the filename etc. GPO Tool - Export/Import Group policy settings. MirrorDir - Synchronize/Backup/Mirror Folders BeatsPlayer - Music player. Params Tool - Right click an exe to see it's parameters or execute them. String Trigger - Triggers pasting text or applications or internet links on specific strings. Inconspicuous - Hide files in plain sight, not fully encrypted. Regedit Control - Registry browsing history, quickly jump into any saved key. Time4Shutdown - Write the time for shutdown in minutes. Power Profiles Tool - Set a profile as active, delete, duplicate, export and import. Finished Task Shutdown - Shuts down pc when specified window/Wndl/process closes. NetworkSpeedShutdown - Shuts down pc if download speed goes under "X" Kb/s. IUIAutomation - Topic with framework and examples Au3Record.exe Link to comment Share on other sites More sharing options...
Xenobiologist Posted May 16, 2013 Share Posted May 16, 2013 (edited) Maybe you can try to check something this : NominalMediaRotationRate/ rotation speed Site: http://msdn.microsoft.com/en-us/library/ff559006.aspx Rotation speed = 0 ==> SSD. Edit : Seems not to be easy with VB or Autoit http://stackoverflow.com/questions/908188/is-there-any-way-of-detecting-if-a-drive-is-a-ssd Edited May 16, 2013 by Xenobiologist Scripts & functions Organize Includes Let Scite organize the include files Yahtzee The game "Yahtzee" (Kniffel, DiceLion) LoginWrapper Secure scripts by adding a query (authentication) _RunOnlyOnThis UDF Make sure that a script can only be executed on ... (Windows / HD / ...) Internet-Café Server/Client Application Open CD, Start Browser, Lock remote client, etc. MultipleFuncsWithOneHotkey Start different funcs by hitting one hotkey different times Link to comment Share on other sites More sharing options...
guinness Posted May 16, 2013 Share Posted May 16, 2013 I've always recommended _IsDriveSSD >> but that's WMI too. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
FreeBeing Posted May 16, 2013 Share Posted May 16, 2013 I've always recommended _IsDriveSSD >> but that's WMI too. I tried your code, but it said "error at line 17" : do you have any idea ? Thank you Link to comment Share on other sites More sharing options...
guinness Posted May 16, 2013 Share Posted May 16, 2013 Forum upgrade removed the backslashes. Try it now. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Xenobiologist Posted May 16, 2013 Share Posted May 16, 2013 I did. Doesn't work for me. Tried on my working laptop with one SSD inside. But the function says it is not a SSD drive. Scripts & functions Organize Includes Let Scite organize the include files Yahtzee The game "Yahtzee" (Kniffel, DiceLion) LoginWrapper Secure scripts by adding a query (authentication) _RunOnlyOnThis UDF Make sure that a script can only be executed on ... (Windows / HD / ...) Internet-Café Server/Client Application Open CD, Start Browser, Lock remote client, etc. MultipleFuncsWithOneHotkey Start different funcs by hitting one hotkey different times Link to comment Share on other sites More sharing options...
guinness Posted May 16, 2013 Share Posted May 16, 2013 (edited) Strange. It's based on code from here >> Edited May 16, 2013 by guinness UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Xenobiologist Posted May 16, 2013 Share Posted May 16, 2013 (edited) The array contains this: 5 C Disk #0 Partition #0 .PHYSICALDRIVE0 IDEDISKKINGSTON_SH103S3120G__________________501ABBF04&2D6FBA98&0&0.0.0 and the function prtins out : false Edited May 16, 2013 by Xenobiologist Scripts & functions Organize Includes Let Scite organize the include files Yahtzee The game "Yahtzee" (Kniffel, DiceLion) LoginWrapper Secure scripts by adding a query (authentication) _RunOnlyOnThis UDF Make sure that a script can only be executed on ... (Windows / HD / ...) Internet-Café Server/Client Application Open CD, Start Browser, Lock remote client, etc. MultipleFuncsWithOneHotkey Start different funcs by hitting one hotkey different times Link to comment Share on other sites More sharing options...
guinness Posted May 16, 2013 Share Posted May 16, 2013 It's correct. The code checks whether the last item contains SSD in the string, which it doesn't from the output. So the code is flawed. Sorry everyone. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
uflex Posted May 17, 2013 Author Share Posted May 17, 2013 This will be a common problem. SSD's port can be SATA or PCIE or USB bus. IDENTIFY_DEVICE_DATA is under the msdn section of ATA driver. There should be a test in different bus. Link to comment Share on other sites More sharing options...
ModemJunki Posted May 20, 2013 Share Posted May 20, 2013 I don't have input that can be very helpful to provide a solution but only reinforcing what has already been said. I also had interest in this. From what I understand, Windows determines if a drive is SSD by measuring the throughput of read/write operations, and not by any other means. It is this measurement that lets it determine if disk defragmentation should be active on the volumes hosted by the drive. In Windows PE, I didn't find any method for this determination. And not every SSD can be expected to have "SSD" in the drive identifier (model) string. So I came to the conclusion a standalone tool must be made to measure the disk speeds like is done in Windows setup. This was beyond my own skills. Always carry a towel. Link to comment Share on other sites More sharing options...
Xenobiologist Posted May 21, 2013 Share Posted May 21, 2013 Maybe there is a s.m.a.r.t tool which can be used via commandline to get the info. Scripts & functions Organize Includes Let Scite organize the include files Yahtzee The game "Yahtzee" (Kniffel, DiceLion) LoginWrapper Secure scripts by adding a query (authentication) _RunOnlyOnThis UDF Make sure that a script can only be executed on ... (Windows / HD / ...) Internet-Café Server/Client Application Open CD, Start Browser, Lock remote client, etc. MultipleFuncsWithOneHotkey Start different funcs by hitting one hotkey different times Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now