Как использовать system(wmic) в DLL?

207
17 сентября 2018, 05:30

Пишу первую DLL (учусь), и вопрос, как использовать эту функцию?

system("wmic path win32_physicalmedia get SerialNumber");

мне нужно вывести в консоль ид жёсткого диска

Answer 1
#include <Windows.h> // здесь хранятся объявления функций WinApi
#include <iostream>  // std::cout
int main()
{
    char lpDriveLabel[30]{}; // сюда запишем метку диска
    char lpDriveFs[30]{};    // сюда запишем файловую систему (FAT32, NTFS...)
    DWORD nDriveSerialNum = 0; // серийный номер диска
    DWORD nDriveLabelSize = sizeof(lpDriveLabel); // размер буфера
    GetVolumeInformationA( // WinApi функция, дающая ин-цию о диске
        "c:/",             // путь к необходимому диску
        lpDriveLabel,     // буфер для хранения метки диска
        sizeof(lpDriveLabel), // размер буфера для метки
        &nDriveSerialNum,     // адрес переменной, куда записать ин-цию о серийном ном.
        &nDriveLabelSize,     // адрес переменной, где хранится размер буфера
        NULL,                  // какие-то флаги (нам неважно)
        lpDriveFs,             // буфер для хранения названия файловой системы диска
        sizeof(lpDriveFs)      // размер буфера для файловой системы
    );
    std::cout << "Серийный номер диска C: " << nDriveSerialNum << "\n"; // вывод в консоль
};

После этого будете выводить на экран значение переменной nDriveSerialNum - это и есть серийный номер диска.

READ ALSO
C++ сигнатуры методов

C++ сигнатуры методов

Мой уровень С++ но начальном этапе и у меня возник вопросКак вообще можно что-то понять из этой сигнатуры метода?

180
Поиск значения по ключу

Поиск значения по ключу

Задан массив пар a, bИ другой массив С

241
Декодирование видеопотока H264 с помощью MediaCodec

Декодирование видеопотока H264 с помощью MediaCodec

Мне в SDP в SIP-пакетах приходят данные про видео

158