Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Вниз

Серийный номер (опять)   Найти похожие ветки 

 
i2e   (2004-04-16 11:21) [0]

Серийный номер тома определяется функцией GetVolumeInformation.
Для Win95, Win98 проблем не было, а для Win2k и WinNT полученные данные каждый раз разные.
А чего не так?

var
  VolName:   PChar;
  SerialNmr: PDWord;
  StrNmr:    String;
  CL:        Cardinal;
begin
     New(SerialNmr);
     New(VolName);
     GetVolumeInformation("C:\", VolName, SizeOf(VolName), SerialNmr, CL, CL, nil, 0);
     StrNmr := IntToHex(Integer(SerialNmr^), 8);
     ....

или:  Str := IntToStr(Integer(SerialNmr^));


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


 
Anatoly Podgoretsky ©   (2004-04-16 11:31) [1]

Странное у тебя какое то управление память, а ты еще AV не получал?


 
i2e   (2004-04-16 12:05) [2]

Может и странное. Как умею. Учиться некогда, всем надо результат.
Что такое AV?


 
Anatoly Podgoretsky ©   (2004-04-16 12:10) [3]

Учиться лучше на чужих ошибка, но все почему то учатся на своих.
А ты уже сходил в местное FAQ?


 
Kerk ©   (2004-04-16 13:47) [4]


> Что такое AV?

Access Violation


 
Рамиль ©   (2004-04-16 13:57) [5]

Мне интересно как в 95 и 98 такое работало...


 
i2e   (2004-04-16 14:32) [6]

AV на это место не получал.
Под 95 и 98 такое работало вообще без проблем. Проверено у многих пользователей. Может это и странно, но это факт.
FAQ посмотрел, кое-что нашел. Проверю - доложу.


 
i2e   (2004-04-19 11:30) [7]

Продолжаем разговор.
Теперь написано так:

var
   VolName, FileSystemName : array [0..MAX_PATH-1] of Char;
   SerialNmr               : DWord;
   MaxComponentLength      : DWORD;
   FileSystemFlags         : DWORD;
begin
   GetVolumeInformation("C:\", VolName, MAX_PATH, @SerialNmr, MaxComponentLength, FileSystemFlags, FileSystemName, MAX_PATH);
   Edit1.Text := IntToHex(SerialNmr, 8);


Вроде корректно. НО ПРОБЛЕМА ОСТАЛАСЬ.
Под 95,98 - повторяемость есть, под NT - каждый раз формируется новый номер.
Меня вполне бы устроил номер тома (а не HDD), но стабильно формируемый.

Есть идеи?



Страницы: 1 вся ветка

Форум: "Система";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.051 c
14-1083470203
Думкин
2004-05-02 07:56
2004.05.23
С днем рождения! 2 мая.


1-1083938188
united
2004-05-07 17:56
2004.05.23
MessageDlg по-русски - как?


6-1081166378
Makhanev A.S.
2004-04-05 15:59
2004.05.23
Sockets: ESysError, code=5; AV...


3-1083040503
AntonVS
2004-04-27 08:35
2004.05.23
кирилица в FB


1-1082832026
Kott
2004-04-24 22:40
2004.05.23
MS Word





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский