Главная страница
    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.038 c
14-1083326823
Тимохов
2004-04-30 16:07
2004.05.23
Советы Рихтера не пользоватся ExitThread.


1-1084118003
Aaa
2004-05-09 19:53
2004.05.23
Реализация TImage а заданной формы?


1-1083956667
LAnd
2004-05-07 23:04
2004.05.23
Подсветка текста компоненты SynHighLighters (SynEdit, SynMemo)


6-1080949188
-M13-
2004-04-03 03:39
2004.05.23
VPN соединение


1-1084204215
dnsokol
2004-05-10 19:50
2004.05.23
Менюшка элементов aka Outlook





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский