digitalworld Posted December 15, 2005 Share Posted December 15, 2005 is there a way to detect a disk id number that is assigned to a drive in windows disk managment. for example if you have a maxtor123 drive, can you detect it which disk id has been assigned to it. Link to comment Share on other sites More sharing options...
seandisanti Posted December 15, 2005 Share Posted December 15, 2005 is there a way to detect a disk id number that is assigned to a drive in windows disk managment. for example if you have a maxtor123 drive, can you detect it which disk id has been assigned to it.id number? maybe in the registry? Link to comment Share on other sites More sharing options...
seandisanti Posted December 15, 2005 Share Posted December 15, 2005 try this code... $key = "HKLM\SYSTEM\CurrentControlSet\Enum\IDE" $i = 0 While 1 $i = $i + 1 $subkey = $key & "\" & RegEnumKey($key,$i) If @error Then ExitLoop $subkey = $subkey & "\" & RegEnumKey($subkey,1) $FriendlyName = RegRead($subkey,"FriendlyName") $LocationInformation = RegRead($subkey,"LocationInformation") MsgBox(4096,"","I think this info is relevant." & @LF & _ "FriendlyName: " & $FriendlyName & @LF & _ "LocationInformation: " & $LocationInformation) WEndthanks larry, i don't haven't gotten permission to access the registry here at work, so i couldn't attempt any code... Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted December 15, 2005 Moderators Share Posted December 15, 2005 thanks larry, i don't haven't gotten permission to access the registry here at work, so i couldn't attempt any code...Ha!! Wonder how long that will last !! (The access permission ... not the job!! ) Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
seandisanti Posted December 15, 2005 Share Posted December 15, 2005 Ha!! Wonder how long that will last !! (The access permission ... not the job!! )it took me more than a month to get permission to access the forum, and i was asking daily, i haven't even tried to ask about registry modifying permission yet... Link to comment Share on other sites More sharing options...
DaleHohm Posted December 16, 2005 Share Posted December 16, 2005 I expect this is also available via WMI, but I've not looked at it in enough detail. Here's an MSDN starting page for WMI.Digging your way into the correct namespage is the tricky part. You'll find some WMI examples here in the forum and perhaps your best be would be to Google for a .vbs example and convert it.Dale Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model Automate input type=file (Related) Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded Better Better? IE.au3 issues with Vista - Workarounds SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead? Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble Link to comment Share on other sites More sharing options...
erebus Posted December 16, 2005 Share Posted December 16, 2005 Somebody on these forums gave the following code some time ago. It looked useful and I kept it - however it is not mine and whoever wrote it should be given the credits. Unfortunatelly there were no comments about that.. Anyway: expandcollapse popup$wbemFlagReturnImmediately = 0x10 $wbemFlagForwardOnly = 0x20 $colItems = "" $strComputer = "localhost" $Output="" $Output = $Output & "Computer: " & $strComputer & @CRLF $Output = $Output & "==========================================" & @CRLF $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Processor", "WQL", _ $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) then For $objItem In $colItems $Output = $Output & "AddressWidth: " & $objItem.AddressWidth & @CRLF $Output = $Output & "Architecture: " & $objItem.Architecture & @CRLF $Output = $Output & "Availability: " & $objItem.Availability & @CRLF $Output = $Output & "Caption: " & $objItem.Caption & @CRLF $Output = $Output & "ConfigManagerErrorCode: " & $objItem.ConfigManagerErrorCode & @CRLF $Output = $Output & "ConfigManagerUserConfig: " & $objItem.ConfigManagerUserConfig & @CRLF $Output = $Output & "CpuStatus: " & $objItem.CpuStatus & @CRLF $Output = $Output & "CreationClassName: " & $objItem.CreationClassName & @CRLF $Output = $Output & "CurrentClockSpeed: " & $objItem.CurrentClockSpeed & @CRLF $Output = $Output & "CurrentVoltage: " & $objItem.CurrentVoltage & @CRLF $Output = $Output & "DataWidth: " & $objItem.DataWidth & @CRLF $Output = $Output & "Description: " & $objItem.Description & @CRLF $Output = $Output & "DeviceID: " & $objItem.DeviceID & @CRLF $Output = $Output & "ErrorCleared: " & $objItem.ErrorCleared & @CRLF $Output = $Output & "ErrorDescription: " & $objItem.ErrorDescription & @CRLF $Output = $Output & "ExtClock: " & $objItem.ExtClock & @CRLF $Output = $Output & "Family: " & $objItem.Family & @CRLF $Output = $Output & "InstallDate: " & WMIDateStringToDate($objItem.InstallDate) & @CRLF $Output = $Output & "L2CacheSize: " & $objItem.L2CacheSize & @CRLF $Output = $Output & "L2CacheSpeed: " & $objItem.L2CacheSpeed & @CRLF $Output = $Output & "LastErrorCode: " & $objItem.LastErrorCode & @CRLF $Output = $Output & "Level: " & $objItem.Level & @CRLF $Output = $Output & "LoadPercentage: " & $objItem.LoadPercentage & @CRLF $Output = $Output & "Manufacturer: " & $objItem.Manufacturer & @CRLF $Output = $Output & "MaxClockSpeed: " & $objItem.MaxClockSpeed & @CRLF $Output = $Output & "Name: " & $objItem.Name & @CRLF $Output = $Output & "OtherFamilyDescription: " & $objItem.OtherFamilyDescription & @CRLF $Output = $Output & "PNPDeviceID: " & $objItem.PNPDeviceID & @CRLF $strPowerManagementCapabilities = $objItem.PowerManagementCapabilities(0) $Output = $Output & "PowerManagementCapabilities: " & $strPowerManagementCapabilities & @CRLF $Output = $Output & "PowerManagementSupported: " & $objItem.PowerManagementSupported & @CRLF $Output = $Output & "ProcessorId: " & $objItem.ProcessorId & @CRLF $Output = $Output & "ProcessorType: " & $objItem.ProcessorType & @CRLF $Output = $Output & "Revision: " & $objItem.Revision & @CRLF $Output = $Output & "Role: " & $objItem.Role & @CRLF $Output = $Output & "SocketDesignation: " & $objItem.SocketDesignation & @CRLF $Output = $Output & "Status: " & $objItem.Status & @CRLF $Output = $Output & "StatusInfo: " & $objItem.StatusInfo & @CRLF $Output = $Output & "Stepping: " & $objItem.Stepping & @CRLF $Output = $Output & "SystemCreationClassName: " & $objItem.SystemCreationClassName & @CRLF $Output = $Output & "SystemName: " & $objItem.SystemName & @CRLF $Output = $Output & "UniqueId: " & $objItem.UniqueId & @CRLF $Output = $Output & "UpgradeMethod: " & $objItem.UpgradeMethod & @CRLF $Output = $Output & "Version: " & $objItem.Version & @CRLF $Output = $Output & "VoltageCaps: " & $objItem.VoltageCaps & @CRLF if Msgbox(1,"WMI Output",$Output) = 2 then ExitLoop $Output="" Next Else Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_Processor" ) Endif Func WMIDateStringToDate($dtmDate) Return (StringMid($dtmDate, 5, 2) & "/" & _ StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _ & " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate,13, 2)) EndFunc I hope it might be useful to you too. Link to comment Share on other sites More sharing options...
digitalworld Posted December 17, 2005 Author Share Posted December 17, 2005 thanks guys, I already tried reading it from registry files, problem i faced was that the controller already writes to the reg to be a disk 0. but it doesn't get to disk 0 until a restart. so in the mean time it is a different disk number. However, i was able to get this done use a command line option "diskpart" . thanks again.. 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