Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 27.02.2019
Сообщений: 66

Уникальный номер

15.05.2019, 14:15. Показов 1998. Ответов 39
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно как-то получить уникальный номер ПК и есть ли такое вообще? Или серийный номер мет.платы, жесткого диска? Нужен какой нибудь уникальный номер на ПК который бы не менялся. Понятно что он может поменяться например при замене того же жесткого диска, но нужно по факту (не беря в расчет что может что то поменяться).

Добавлено через 4 минуты
Сколько не пыталась нагуглить везде упоминается WMI, но говорят что с ним проблемы на системах х64 или если включен UAC то вообще не прочитать им данные. Или это не так?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.05.2019, 14:15
Ответы с готовыми решениями:

При поселении в гостиницу каждый участник конференции указал свой регистрационный номер, дату и время приезда и отъезда, номер комнаты и номер телефон
При поселении в гостиницу каждый участник конференции указал свой регистрационный номер, дату и время приезда и отъезда, номер комнаты и...

Уникальный Listbox
Здравствуйте требуется listbox с уникальными элементами. Моя попытка, но что то не правильно str2 := copy(str1, i +...

уникальный хэндл
Есть процедура (см. вложение) которая ищет хэндл окна, а потом окно скрывает. А что делать если хэндл начинается - "Мой...

39
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,684
Записей в блоге: 21
22.05.2019, 16:24
Студворк — интернет-сервис помощи студентам
systemdrive дает 'c:'
можно посмотреть в командной строке
Windows Batch file
1
set systemdrive
а уж что там вы выберете - это нужно набирать статистику, выбирать и все такое
вряд ли вам тут кто подскажет
нет ответов - значит не вставала такая проблема
0
0 / 0 / 0
Регистрация: 27.02.2019
Сообщений: 66
22.05.2019, 20:00  [ТС]
Хм, диск и раздел один и тот же почему функция так реагирует? В чем разница?
0
6001 / 4576 / 1096
Регистрация: 29.08.2013
Сообщений: 28,264
Записей в блоге: 3
22.05.2019, 20:13
Цитата Сообщение от KristiPanama Посмотреть сообщение
я попробовала вписать в GetVolumeInformation диск вот так C:\ он вернул 10 цифр
покажите код
0
0 / 0 / 0
Регистрация: 27.02.2019
Сообщений: 66
22.05.2019, 20:20  [ТС]
Delphi
1
2
3
4
i, VolumeSerialNo: DWORD;
...
GetVolumeInformation(PChar('C:\'), nil, 0, @VolumeSerialNo, i, i, nil, 0);
Memo1.Lines.Add(IntToStr(VolumeSerialNo));
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
23.05.2019, 00:55
а чего бы не взять MAC адрес сетевой карты он уже сам по себе уникальный(так заверяют производители как минимум)? на ее основе генерируется майкрософтом даже GUID для интерфейсов регистрации в системе.
0
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
23.05.2019, 02:21
Цитата Сообщение от Arcor Посмотреть сообщение
а чего бы не взять MAC адрес сетевой карты он уже сам по себе уникальный
Существует поверье, что его можно изменить.

Добавлено через 52 минуты
Цитата Сообщение от KristiPanama Посмотреть сообщение
Можно как-то получить уникальный номер ПК и есть ли такое вообще?
Нет такого вообще и никогда не было! Исключения не в счет.
0
882 / 404 / 173
Регистрация: 20.10.2016
Сообщений: 1,828
23.05.2019, 04:13
Цитата Сообщение от northener Посмотреть сообщение
Существует поверье, что его можно изменить.
Это не поверье. MAC адрес меняется элементарно средствами самой Винды. Старый, аппаратный MAC, все еще остается, но программный MAC имеет приоритет выше аппаратного.
0
0 / 0 / 0
Регистрация: 27.02.2019
Сообщений: 66
23.05.2019, 08:31  [ТС]
Цитата Сообщение от northener Посмотреть сообщение
Нет такого вообще и никогда не было!
Да я уже поняла. Интересует сейчас результат функции GetVolumeInformation, как правильно ее использовать чтобы получить достоверный результат?
0
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,684
Записей в блоге: 21
23.05.2019, 08:53
сделайте программу, попросите ее запустить на 10-20 разных компах
результаты пусть пришлют вам, вот и будете точно знать
0
0 / 0 / 0
Регистрация: 27.02.2019
Сообщений: 66
23.05.2019, 09:56  [ТС]
Где бы взять этих 10-20 добровольцев. Если выложу тут программу то вы поможете узнать истину? Ну или можно просто использовать этот код:
Delphi
1
2
3
4
i, VolumeSerialNo: DWORD;
...
GetVolumeInformation(PChar('C:\'), nil, 0, @VolumeSerialNo, i, i, nil, 0);
Memo1.Lines.Add(IntToStr(VolumeSerialNo));
0
882 / 404 / 173
Регистрация: 20.10.2016
Сообщений: 1,828
23.05.2019, 10:24
Получилось 2252007091

Не по теме:

Надеюсь, этих данных будет недостаточно, чтобы обнулить мои банковский карты или взломать базу данных нашей организации...

0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
23.05.2019, 10:31
Вот примерчик надыбал:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function TForm1.SerialNumHDD(hdd: string): string;
var
  VolumeName, FileSystemName: array[0..MAX_PATH - 1] of Char;
  VolumeSerialNo: DWord;
  MaxComponentLength, FileSystemFlags: DWORD; //Integer;
begin
  GetVolumeInformation(pchar(hdd), VolumeName, MAX_PATH, @VolumeSerialNo, MaxComponentLength, FileSystemFlags, FileSystemName, MAX_PATH);
  result := IntToHex(VolumeSerialNo, 8);
  Memo1.Lines.Add('VName = ' + VolumeName);
  Memo1.Lines.Add('SerialNo = $' + IntToHex(VolumeSerialNo, 8));
  Memo1.Lines.Add('CompLen = ' + IntToStr(MaxComponentLength));
  Memo1.Lines.Add('Flags = $' + IntToHex(FileSystemFlags, 4));
  Memo1.Lines.Add('FSName = ' + FileSystemName);
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
  i, VolumeSerialNo: DWORD;
begin
  Memo1.Clear;
 
  //GetVolumeInformation(PChar('C:\'), nil, 0, @VolumeSerialNo, i, i, nil, 0);
  Memo1.Lines.Add(SerialNumHDD('C:\'));
end;
Цитата Сообщение от Nanotentacle Посмотреть сообщение
Надеюсь, этих данных будет недостаточно, чтобы обнулить мои банковский карты или взломать базу данных нашей организации...
По этой причине я и промолчу А так 9тизначный номер, на 5 начинается, на 9 заканчивается.
Вот только эти все данные лучше в 16-ричном виде представлять.
0
0 / 0 / 0
Регистрация: 27.02.2019
Сообщений: 66
23.05.2019, 10:43  [ТС]
Цитата Сообщение от Nanotentacle Посмотреть сообщение
Надеюсь, этих данных будет недостаточно, чтобы обнулить мои банковский карты или взломать базу данных нашей организации...

Matan!, А если использовать мой пример сколько знаков получается? Или 9 знаков это моим примером получилось?
0
882 / 404 / 173
Регистрация: 20.10.2016
Сообщений: 1,828
23.05.2019, 10:53
Цитата Сообщение от KristiPanama Посмотреть сообщение
Matan!, А если использовать мой пример сколько знаков получается? Или 9 знаков это моим примером получилось?
Вопрос в лоб: а почему так принципиально 10 символов? Можно же получившееся число перевести, скажем, в string, и добавить недостающие нули. Будет 10 символов.
0
 Аватар для Flip
335 / 173 / 67
Регистрация: 25.02.2018
Сообщений: 616
23.05.2019, 10:55
KristiPanama, 10 знаков получается, с кодом приведённым Вами выше. Однако используя утилиту Hard Disk Sentinel (она как раз и показывает всю инфу о HDD) я нигде не увидел тот самый номер
0
Модератор
 Аватар для D1973
9952 / 6487 / 2461
Регистрация: 21.01.2014
Сообщений: 27,488
Записей в блоге: 3
23.05.2019, 10:59
3738636206
0
 Аватар для Flip
335 / 173 / 67
Регистрация: 25.02.2018
Сообщений: 616
23.05.2019, 11:06
3296777942
0
462 / 185 / 32
Регистрация: 04.08.2018
Сообщений: 732
23.05.2019, 12:09
1757038272
2787700811
849224210
3370657858
Второй и четвёртый это один физический HDD, значит это не его серийный номер. Первый и третий оба SSD, но с разным интерфейсом. Короткий третий - классический SATA.

Два привода:
4227471
4227471
Один реальный, рабочий, второй виртуальный. Оба пустые.
Если подмонтировать образ в виртуальный, то номер меняется на
3793369742
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
23.05.2019, 14:12
Цитата Сообщение от Rayvenor Посмотреть сообщение
значит это не его серийный номер
Это метка тома.
0
0 / 0 / 0
Регистрация: 27.02.2019
Сообщений: 66
24.05.2019, 07:24  [ТС]
Всем спасибо за помощь! Теперь вроде понятно что к чему.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.05.2019, 07:24

Уникальный идентификтор bmp картинки
Что за уникальный идентификатор генерируется при создание картинки. bmp := TBitmap.Create; ...... ...

Вывести на экран порядковый номер слова максимальной длины и номер позиции строки с которой она начинается.
Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Вывести на экран порядковый...

Вывести на экран порядковый номер слова максимальной длины и номер позиции строки с которой оно начинается
Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами.. Вывести на экран порядковый номер...

Найти номер максимального и номер минимального из чисел
Нароод плииз помогите(( нужна ваша помощь( Даны натуральное число n и целые числа a1, a2,…,an. Найти номер максимального и номер...

Разработать программное приложение, которое формирует и печатает уникальный логин для каждого ученика
Может кто нибудь сделать задание по делфи: Исходные данные:количество учеников,принимавших участие в соревнованиях,Фамилия,Имя. ...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru