I have downloaded your program. It seems great! Will you be so kind to send me some explanation how to install and use the programs. Loading the programs into VB 6.0 (may be rong), in the combibox there is no results! Thank you in advance!
Eftim Stoyanov
Last edited by Hack; Apr 20th, 2007 at 01:01 PM.
Reason: Removed Email Address
I have downloaded your program. It seems great! Will you be so kind to send me some explanation how to install and use the programs. Loading the programs into VB 6.0 (may be rong), in the combibox there is no results! Thank you in advance!
Eftim Stoyanov
Please read the document in the zip file and use your head a bit.
Thanks,
Yogi Yang
Yogi's SoftKey a keyboard remappint software for Indian Languages. Worlds easiest to learn and use for Indian Languages (Gujarati/Hindi).
I'd like to incorporate this into my library. Do you have any objection?
If you'd like me to give credit to a name other than "yogiyang", PM me.
No objections at all. I will be that my code is usefull to someone.
But I must say that I am not able to get this code to work properly in VISTA Final Release. It was working in the FirstBeta version but not in final release.
Good luck to you.
Yogi Yang
Thanks,
Yogi Yang
Yogi's SoftKey a keyboard remappint software for Indian Languages. Worlds easiest to learn and use for Indian Languages (Gujarati/Hindi).
I have already used your code in my project for security. It is really helpful, but please let us know if you have the same thing for SATA hard disks too.
I have already used your code in my project for security. It is really helpful, but please let us know if you have the same thing for SATA hard disks too.
I own two SATA HDDs and it is working without any problem. There must be some other problem at you end.
If you are having problem using this library then please use WMI for extracting storage media information and then separate the HDDs firmware from it.
By the way this will not work with all types of SCSI HDDs as far as my experience goes
Thanks,
Yogi Yang
Yogi's SoftKey a keyboard remappint software for Indian Languages. Worlds easiest to learn and use for Indian Languages (Gujarati/Hindi).
No objections at all. I will be that my code is usefull to someone.
But I must say that I am not able to get this code to work properly in VISTA Final Release. It was working in the FirstBeta version but not in final release.
Option Explicit
Public Function GetHDSerialNumber() As String()
Dim arrComputers() As String
Dim strComputer As Variant
Dim objWMIService As Object
Dim colItems As Object
Dim objItem As Object
Const wbemFlagReturnImmediately = &H10
Const wbemFlagForwardOnly = &H20
Dim arHD() As String
Dim i As Integer
On Error Resume Next
arrComputers = Array(".")
For Each strComputer In arrComputers
Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PhysicalMedia", "WQL", _
wbemFlagReturnImmediately + wbemFlagForwardOnly)
For Each objItem In colItems
Debug.Print "SerialNumber: " & objItem.SerialNumber
Debug.Print "Tag: " & objItem.Tag
Debug.Print
ReDim Preserve arHD(i)
arHD(i) = Trim(objItem.SerialNumber)
i = i + 1
Next
Next
GetHDSerialNumber = arHD
Set colItems = Nothing
Set objWMIService = Nothing
End Function
Option Explicit
Public Function GetHDSerialNumber() As String()
Dim arrComputers() As String
Dim strComputer As Variant
Dim objWMIService As Object
Dim colItems As Object
Dim objItem As Object
Const wbemFlagReturnImmediately = &H10
Const wbemFlagForwardOnly = &H20
Dim arHD() As String
Dim i As Integer
On Error Resume Next
arrComputers = Array(".")
For Each strComputer In arrComputers
Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PhysicalMedia", "WQL", _
wbemFlagReturnImmediately + wbemFlagForwardOnly)
For Each objItem In colItems
Debug.Print "SerialNumber: " & objItem.SerialNumber
Debug.Print "Tag: " & objItem.Tag
Debug.Print
ReDim Preserve arHD(i)
arHD(i) = Trim(objItem.SerialNumber)
i = i + 1
Next
Next
GetHDSerialNumber = arHD
Set colItems = Nothing
Set objWMIService = Nothing
End Function
Thanks for the code snippet. But the main problem is that the code that I have developed is for running on all Windows 32Bit versions and not only in Windows 2000 onwards.
The WMI part is easy but a user can easily disable or uninstall WMI from his or her system and this will break any software which is built around WMI.
I am not interested in that......
Now that you already have code for extracting HDD serial using WMI please update my code and repost it.
Thanks in advance.
Thanks,
Yogi Yang
Yogi's SoftKey a keyboard remappint software for Indian Languages. Worlds easiest to learn and use for Indian Languages (Gujarati/Hindi).
To tell the truth VISTA itself is very difficult for me to grasp and adopt. it is tooooo for me.
I am using Win XP on a p4, 1GHz processor having 128 MB RAM. Will VISTA run on this without a hitch? Of course not. Currently XP's log in screen comes up in just 20 seconds after booting my PC. What would happen in case of VISTA
I will eventually upgrade to VISTA when I upgrade my Hardware and when VISTA becomes more use able and less buggy
This is the best piece of code I've found for this, and YES!!! IT WORKS WITH VISTA!!! I had the same "error" as mentioned above, with the fields just being blank. I played around for a while, and the "blank fields" are due to User Account Control in Vista. The CreateFile function that is called needs to have administrative permissions (see http://msdn2.microsoft.com/en-us/lib...8(VS.85).aspx).
If you're developing an app that you'll only run yourself, you can just right-click the application and choose "Run as Administrator." For real world software, you'll need a Vista UAC work around. I haven't done this in VB, but I've done it in NSIS Installer successfully, so there's a way to do it. I just haven't got there yet. In my installer, if I don't have adequate permissions, I prompt the user to type in an administrative password so that I can gain these permissions. I'm going to be looking for a more pretty way to handle this in software, so that my users don't see this message whenever they start the software.
This is the best piece of code I've found for this, and YES!!! IT WORKS WITH VISTA!!! I had the same "error" as mentioned above, with the fields just being blank. I played around for a while, and the "blank fields" are due to User Account Control in Vista. The CreateFile function that is called needs to have administrative permissions (see http://msdn2.microsoft.com/en-us/lib...8(VS.85).aspx).
If you're developing an app that you'll only run yourself, you can just right-click the application and choose "Run as Administrator." For real world software, you'll need a Vista UAC work around. I haven't done this in VB, but I've done it in NSIS Installer successfully, so there's a way to do it. I just haven't got there yet. In my installer, if I don't have adequate permissions, I prompt the user to type in an administrative password so that I can gain these permissions. I'm going to be looking for a more pretty way to handle this in software, so that my users don't see this message whenever they start the software.
Thank you for solving the problem. I thought I was the only one who was responsible for solving the problem (and not having Vista I could not) as no one was extending a helping hand in this regards.
If you do find a work around for prompting for Administrative Password please do share it with us here on this forum.
Great Post. I too wish to include this in my app but do not know how. And there is no Notepad or instruction file in the downloaded zip file. Pray help..
Great Post. I too wish to include this in my app but do not know how. And there is no Notepad or instruction file in the downloaded zip file. Pray help..
It is simple. Just take the necessary code files and add them to your existing project. Now call the necessary functions to retrive HDD's serial number. That is it.
Still more easier is to use the class "HDSN.cls" that I have uploaded later. It is a class which has to be instantiated. Now call necessary methods to get the serial number.