hdd serial number cu wmi sub vista
hdd serial number cu wmi sub vista
doresc sa aflu hdd serial number sub vista (sub celelalte os nu am probleme- nici cu w7).
am inteles ca cel mai la indemana ar fi cu wmi.
multumesc!
am inteles ca cel mai la indemana ar fi cu wmi.
multumesc!
- cristianamarie
- Membru++
- Posts: 480
- Joined: 12 Mar 2009, 18:47
- Judet: Iaşi
- Location: Iasi
Re: hdd serial number cu wmi sub vista
Nu e nevoie de WMI.
GetVolumeInformation are un LPDWORD lpVolumeSerialNumber.
Cu WMI e Win32_PhysicalMedia unde ai string SerialNumber.
GetVolumeInformation are un LPDWORD lpVolumeSerialNumber.
Cu WMI e Win32_PhysicalMedia unde ai string SerialNumber.
Nuclear launch detected
Re: hdd serial number cu wmi sub vista
GetVolumeInformation da serialul partitie, nu cel fizic al hardului, de care am eu nevoie(mai mult, acesta poate fi schimbat cu usurinta). Am nevoie de ceva unic al calculatorului, care poate fi citit din program
O sa incerc cu Win32_PhysicalMedia, sa vad ce da si asta!. Poate ma ajutati!
Multumesc!
O sa incerc cu Win32_PhysicalMedia, sa vad ce da si asta!. Poate ma ajutati!
Multumesc!
-
- Membru++
- Posts: 919
- Joined: 23 Jul 2007, 11:32
Re: hdd serial number cu wmi sub vista
l am incercat, dar merge in xp, w7 etc dar nu merge in vista nici cu drepturi de administrator.
Re: hdd serial number cu wmi sub vista
Da manifest ai la app?
- cristianamarie
- Membru++
- Posts: 480
- Joined: 12 Mar 2009, 18:47
- Judet: Iaşi
- Location: Iasi
Re: hdd serial number cu wmi sub vista
Mai merita incercat cu SetupDiXXX APIs. Trebuie culese info despre class GUID la discuri si aproape sigur ai si serial number acolo.
Nuclear launch detected
Re: hdd serial number cu wmi sub vista
Daca nu vreau prea mult v as ruga sa ma ajutati cu un cod care sa extraga serialul hardului (master).
Cel di diskid32 nu mi merge sub vista.
Va multumesc anticipat!
Cel di diskid32 nu mi merge sub vista.
Va multumesc anticipat!
Re: hdd serial number cu wmi sub vista
Gogu da idei din primahttp://www.codeproject.com/KB/mcpp/DriveInfoEx.aspx de ex si e scris de un roman...
Sau scrie tu codu si te ajutam sa il faci sa mearga
Sau scrie tu codu si te ajutam sa il faci sa mearga
Re: hdd serial number cu wmi sub vista
it's wonderful but..
don't work on Vista or Win7!
Din pacate, nu am capacitatea de a solutiona povestea asta (eu sunt mic - am doar o steluta, ma intelegeti
).
Ramane valabil apelul cu codul sursa!
don't work on Vista or Win7!
Din pacate, nu am capacitatea de a solutiona povestea asta (eu sunt mic - am doar o steluta, ma intelegeti

Ramane valabil apelul cu codul sursa!
- Silviu Ardelean
- Senior
- Posts: 1175
- Joined: 12 Jul 2007, 09:22
- Contact:
Re: hdd serial number cu wmi sub vista
Pe Vista si Win7 cu siguranta e si o problema de permisiuni...
- cristianamarie
- Membru++
- Posts: 480
- Joined: 12 Mar 2009, 18:47
- Judet: Iaşi
- Location: Iasi
Re: hdd serial number cu wmi sub vista
1. formatezi un string L"\\\\.\\PHYSICALDRIVE%d", %d = disk number (0, 1, ...)
Cu asta facem un CreateFile
2. prepari un query
3. DeviceIoControl cu IOCTL_STORAGE_QUERY_PROPERTY
4. mergi la offsetul serial
Aici o sa fie un string ascii hexa, reversed probabil.
La mine e "020202027502d244857593548303b4c493536303".
Din hexa iese " W -DXW9E80KL9560", stringul e reversed, " WD-WXE908LK5906", trim stringa/dreapta si finally iese "WD-WXE908LK5906".
Nota. 1 SIGUR o sa dea ERROR_ACCESS_DENIED (5) pentru non-admins.
Cu asta facem un CreateFile
Code: Select all
HANDLE hDevice = ::CreateFileW(szHDD, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
Code: Select all
STORAGE_PROPERTY_QUERY query;
memset(&query, 0, sizeof(STORAGE_PROPERTY_QUERY));
query.QueryType = PropertyStandardQuery;
query.PropertyId = StorageDeviceProperty;
Code: Select all
BYTE pbinfo[16384] = {0};
DWORD unused = 0;
::DeviceIoControl(hDevice, IOCTL_STORAGE_QUERY_PROPERTY, &query, sizeof(query), &pbinfo[0], _countof(pbinfo), &unused, (LPOVERLAPPED) NULL);
Code: Select all
STORAGE_DEVICE_DESCRIPTOR *descrip = (STORAGE_DEVICE_DESCRIPTOR *)&pbinfo[0];
char* ssn = (char *)&pbinfo[descrip->SerialNumberOffset];
La mine e "020202027502d244857593548303b4c493536303".
Din hexa iese " W -DXW9E80KL9560", stringul e reversed, " WD-WXE908LK5906", trim stringa/dreapta si finally iese "WD-WXE908LK5906".
Nota. 1 SIGUR o sa dea ERROR_ACCESS_DENIED (5) pentru non-admins.
Nuclear launch detected
Re: hdd serial number cu wmi sub vista
bateti l voi la cap cu permisiunile
Re: hdd serial number cu wmi sub vista
Cristi, iti multumesc mult pentru stradanie (si celorlalti, desigur). Ramane sa studiez atent tot ce ai postat si sa folosesc la ceea ce mi trebuie mie.
Noctem bonam!
Noctem bonam!