Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069

Пример из книги Архангельского - извлечь серийный номер диска

08.03.2012, 12:27. Показов 2162. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добро друзья!

По книге Архангельского пробую извлеч серийный номер диска индекс которого прописан в Edite в моем случае это диск F:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Edit1->Text =("F");// мне нужно получить данные по диску F
 
 DWORD Number, FileLength, VolFlags;
 char Drives [255], Buf [256];
 char SistemName [127];
 AnsiString S;
 int i;
 PChar P;
 P = Drives;
 S = "Диск " + AnsiString (P);
 i = GetDriveType (P);
 RichEdit1->Lines->Add(S);
 if (GetVolumeInformation(P, Buf, 256, &Number, &FileLength,
                            &VolFlags, SistemName, 128))
   {
   RichEdit1->Lines->Add("серийный номер - " + IntToStr(Number));
   RichEdit1->Lines->Add("система - " + AnsiString(SistemName));
   }
Этот код извлекает данные диска С.
Посоветуйте как при помощи этого кода извлечь данные диска F, или диска индекс которого записан в Edite так: F!?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.03.2012, 12:27
Ответы с готовыми решениями:

Настоящий серийный номер жесткого диска
Среда Borland Builder C++ Нужно было сделать WMI запрос. ну как обычно мелкомягкие сделали библиотеку wbemuuid.lib только под себя. ...

Изменить серийный номер, номер прошивки и название жесткого диска
Всем привет. Для начало суть проблемы. Есть софт, который прикреплен к одному железу. После иследование лицензионного файла, понял что он...

Серийный номер диска С
Привет всем. Если знайте помогите пожалуста. У меня здесь програмка который возвращает серийный номер диска. Но в некоторых компютерах...

4
 Аватар для Sergey-K
238 / 229 / 58
Регистрация: 27.10.2011
Сообщений: 249
08.03.2012, 14:44
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  Edit1->Text = "F";
  DWORD Number, FileLength, VolFlags;
  char Buf[256], SistemName[256];
  AnsiString S;
  AnsiString T;
  __int64 i;
  PChar P;
  P = AnsiString(Edit1->Text + ":\\").c_str();
  S = "Диск - " + Edit1->Text;
  T = "Тип диска - " + IntToStr(GetDriveType(P));;
  RichEdit1->Lines->Add(S);
  RichEdit1->Lines->Add(T);
  if(GetVolumeInformation(P, Buf, sizeof(Buf), &Number, &FileLength,
    &VolFlags, SistemName, sizeof(SistemName)))
    {
      i = Number;
      RichEdit1->Lines->Add("Серийный номер - " + IntToStr(i));
      RichEdit1->Lines->Add("Файловая система - " + AnsiString(SistemName));
    }
}
2
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
08.03.2012, 17:00  [ТС]
К сожалению не работает, попробую разобраться почему...
0
 Аватар для Sergey-K
238 / 229 / 58
Регистрация: 27.10.2011
Сообщений: 249
08.03.2012, 18:15
В C++Builder 2010 так работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  Edit1->Text = "F";
  DWORD Number, FileLength, VolFlags;
  char Buf[256], SistemName[256];
  AnsiString S;
  AnsiString T;
  __int64 i;
  char *P;
  P = AnsiString(Edit1->Text + ":\\").c_str();
  S = "Диск - " + Edit1->Text;
  T = "Тип диска - " + IntToStr((int)GetDriveType(P));
  RichEdit1->Lines->Add(S);
  RichEdit1->Lines->Add(T);
  if(GetVolumeInformation(P, Buf, sizeof(Buf), &Number, &FileLength,
    &VolFlags, SistemName, sizeof(SistemName)))
    {
      i = Number;
      RichEdit1->Lines->Add("Серийный номер - " + IntToStr(i));
      RichEdit1->Lines->Add("Файловая система - " + AnsiString(SistemName));
    }
}
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
08.03.2012, 18:30  [ТС]
Я в Builder 6 разобрался а в 2010 немного техники нехватило, спасибо Sergey-K что не поленился!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.03.2012, 18:30
Помогаю со студенческими работами здесь

Серийный номер диска
есть такая функция function GetHardID:string; var SerialNum: dword; a, b: dword; Buffer: array of char; begin if...

Не выводит серийный номер диска
Написал код, вроди бы все должно работать но после нажатия на кнопку данные не выводятся на экран. unit Unit1; interface uses ...

Как узнать Серийный номер диска?
Как узнать серийный номер диска (например компакта)

Серийный номер жесткого диска php mysql
здравствуйте я тут скрипт написал про регистрацию пользователей и в БД записывается IP adress пользователя Хотел бы узнать как можно...

Как узнать серийный номер жёсткого диска?
Здравствуйте, подскажите, буду очень признателен. Пытаюсь поставить прогу, а чтобы крякнуть её надо Изменить ID тома на другой. Попробовал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru