Получаем S/N Материнской платы и жесткого диска

  • На форуме работает ручное одобрение пользователей. Это значит, что, если Ваша причина регистрации не соответствует тематике форума, а также Вы используете временную почту, Ваша учётная запись будет отклонена без возможности повторной регистрации. В дальнейшем - пожизненная блокировка обоих аккаунтов за создание мультиаккаунта.
  • Мы обновили Tor зеркало до v3!
    Для входа используйте следующий url: darkv3nw2...bzad.onion/
  • Мы вновь вернули telegram чат форуму, вступайте, общайтесь, задавайте любые вопросы как администрации, так и пользователям!
    Ссылка: https://t.me/chat_dark_time

K_NoW

VIP

K_NoW

VIP
3 Июн 2016
514
195
Серийный номер мп и жд достаем из WMI если данная служка будет отключена мы ничего не получим

Код:
uses
  ActiveX,
  Variants,
  SysUtils,
  ComObj;

type
  AR = array[0..2] of string;

function GetWMIObject(const objectName: string): IDispatch;
var
  chEaten: Integer;
  BindCtx: IBindCtx;
  Moniker: IMoniker;
begin
  OleCheck(CreateBindCtx(0, bindCtx));
  OleCheck(MkParseDisplayName(BindCtx, StringToOleStr(objectName), chEaten, Moniker));
  OleCheck(Moniker.BindToObject(BindCtx, nil, IDispatch, Result));
end;

function GetMotherBoardSerial: ar;
var
  objWMIService: OLEVariant;
  colItems: OLEVariant;
  colItem: OLEVariant;
  oEnum: IEnumvariant;
  iValue: LongWord;
  mb, hdd: string;
begin
  result[1] := 'N/A';
  result[2] := 'N/A';
  try
    objWMIService := GetWMIObject('winmgmts:\\localhost\root\cimv2');
    colItems := objWMIService.ExecQuery('SELECT SerialNumber FROM Win32_BaseBoard', 'WQL', 0);
    oEnum := IUnknown(colItems._NewEnum) as IEnumVariant;
    if oEnum.Next(1, colItem, iValue) = 0 then
      Result[1] := VarToStr(colItem.SerialNumber);
    colItems := objWMIService.ExecQuery('SELECT SerialNumber FROM win32_physicalmedia ', 'WQL', 0);
    oEnum := IUnknown(colItems._NewEnum) as IEnumVariant;
    if oEnum.Next(1, colItem, iValue) = 0 then
      Result[2] := VarToStr(colItem.SerialNumber);
  finally
  end;
end;
Использовать так:
Код:
begin
  CoInitialize(nil);
  Writeln('Serial MotherBoard ' + GetMotherBoardSerial[1]);
  Writeln('Serial Hdd ' + GetMotherBoardSerial[2]);
  Readln;
  CoUninitialize;
end.
 

О нас

  • Наше сообщество существует уже много лет и гордится тем, что предлагает непредвзятое, критическое обсуждение различных тем среди людей разных слоев общества. Мы работаем каждый день, чтобы убедиться, что наше сообщество является одним из лучших.

    Dark-Time 2015 - 2024

    При поддержке: XenForo.Info

Быстрая навигация

Меню пользователя