Пятница, 17.05.2024, 11:02
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
HackUtill
Форма входа

IP Lookup

Меню сайта

Категории раздела
Исходники [2]
Интересные варианты решения задач [0]
Советы [0]
Книги [0]

Облако тэгов
криптографическая защита статьи про криптографию ФАПСИ ЦРУ книга Крис Касперски скачать бесплатно +без регистрации Социальная инженерия Искусство обмана Кевин Митник Delphi советы мобильный телефон Хакинг дизассемблирование Скачать css html тэги книга о html тегах теги assembler программа для Windows скачать + бесплатно склеить файлы троян ICQ массовая рассылка рассылка по ICQ скачать бесплатно программу рассылк скачать программу icq bot SQL Helper sql injection google Pwn2Own взлом Chrome конкурс хакеров Anonimous SOPA арест интерпол кибер-атака Attack dns hack отключить интернет .htaccess 80 порт apache httpd.conf Windows 2003 защита Защита Windows 2003 DDoS ddos атака защита от атак защита сервера TOR безопасность решение суда

Наш опрос
Оцените мой сайт
Всего ответов: 28

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Друзья сайта
  • Все для веб-мастера
  • Программы для всех
  • Мир развлечений
  • Лучшие сайты Рунета
  • Кулинарные рецепты

  • Главная » Статьи » Программирование Delphi » Исходники

    Привязка программы к "железу"
    Привязка программы к "железу"

    GetDriveType - использует всего один параметр-указатель на том.Например "с:","а:" и т.д.

    Функция возвращает одно из следующих значений: 

    Drive_UNKNOWN - 0: диск не определен\не существует

    DRIVE_NO_ROOT_DIR-1 :неверный путь\путь не указывает на том

    DRIVE_REMOVABLE-2: тип устройства определяется как съемный(Flash,FDD)

    DRIVE_FIXED-3: тип устройства фиксированный диск(HDD)

    Drive_REMOTE-4:удаленный

    drive_cdrom-5: тип устройства cd-rom

    drive_ramdisk-6: виртуальный диск

    ЗАМЕЧАНИЕ:

    Если в качестве параметра указать nil то тип устройства будет определяться для текущего диска(с которого была запущена программа)

    function GetDriveType (lpRootPathName:PChar //путь к диску):UINT;stdcall;

    function GetVolumeInformation(lpRootPathName:PChar;//путь к сетевому или локальному тому(например "MyServerMyShare" или "C:")

    lpVolumeNameBuffer:PChar;//буфер в котором будет храниться имя тома

    nVolumeNameSize:DWORD;//размер буфера

    lpVolumeSerialNumber:PDWORD;//серийный номер тома

    var lpMaximumComponentLength,lpFileSystemFlags:DWORD;//размер тома и тип системы файловой системы

    lpFileSysytemNameBuffer:PChar;//название файловой системы

    nFileSystemNameSize:DWORD;//буфер под названием ФС):BOOL;stdcall; 

    ЗАМЕЧАНИЕ:

    Если в качестве первого параметра указать для С\С++ -NULL,а для Delphi -nil то функция будет выполняться для текущего диска(с которого была запущена программа)

    {Delphi}


    program Project1;

    {$APPTYPE CONSOLE}
    uses

    SysUtils,windows;

    var

    SerialNum,dtyp:Dword;

    a,b:DWORD;

    Buffer,disk: array [0..255] of char;

    begin

    dtyp:=GetDriveType(nil);

    if dtyp = DRIVE_REMOVABLE{если надо привязать программу к

    HDD,то заменить DRIVE_REMOVABLE на DRIVE_FIXED} then writeln

    ('Disk(type):Yes') else writeln('Disk(type):No'); 

    GetVolumeInformation(nil,Buffer,sizeof(Buffer),@SerialNum,a,b,nil,0);

    if SerialNum = {вставить серийный номер диска} then writeln

    ('SN:Yes') else writeln('SN:No'); 

    readln;

    end.


    Узнать серийный номер диска

    Delphi

    GetVolumeInformation(nil,Buffer,sizeof(Buffer),@SerialNum,a,b,nil,0);
    writeln('SN drive:',SerialNum);
    readln;

    ==================================================================================================================
    __________________________________________________
    |Поле\ФС | FAT | FAT32 | NTFS |
    |Метка тома | 0x2B | 0x47 | ? |
    |Файловая система | 0x36 | 0x52 | 0x3 |
    |Серийный номер | 0x27 | 0x43 | 0x48 |
    |__________________________________________________
    ===================================================================================================================
    В приведенной таблице представлены основные файловые системы и соответствующие для них смещения.(по этим смещениям находиться Serial Number )
    Категория: Исходники | Добавил: Sir_J (15.07.2010)
    Просмотров: 4500 | Комментарии: 1 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Имя *:
    Email *:
    Код *:

    Copyright MyCorp ©2010 - 2024
    Сделать бесплатный сайт с uCoz