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

Вниз

Как уникально идентифицировать компьютер?   Найти похожие ветки 

 
nester   (2003-10-07 22:21) [0]

Как уникально идентифицировать компьютер? В общем то проблемма такая, что нужно присвоить каждому компу какойнибудь то ли номер то ли уникальную строку, так чтобы он был уникальным, причем при его присваивании изначально не знаешь все остальные номера? В голову прихочит может брать номер процессора? или номер внита? или может винда как-то присваивает уникально номер каждому компу?
В общем интересует участок кода, который как-то выдерет с компа его "уникальный" номер.


 
Эдуард   (2003-10-07 22:25) [1]

По железу.
L(сериал мамки, биоса, видюхи, винта, МАК сетевой, и т.д.),
где L - некоторый оператор, напр. XOR;

Как определить сериалы - ищи в ФАКах, и форумах.


 
nester   (2003-10-07 23:02) [2]

Дык вот в форуме и спрашиваю, не может ли кто привести участок кода?


 
wl   (2003-10-07 23:08) [3]

"Будь проще и у тебе потянутся..."
используй такую уникальную штуку как GUID (CSLID et.cetera)
правда это будет работать только в том случае, если нужен просто уникальный абстрактный номер, не привязанный к железу компа, которое может к тому же в любой момент измениться(сетевая сгорела и т.д.)
лучше бы Вы задали вопрос поконкретнее в том смысле, как именно будут получаться номера в серверную программу, and so on
у процессоров нету номера, уже давно убрали имхо в связи со связанным с этим скандалом...
гуид по моему самая тема


 
Soi   (2003-10-08 06:25) [4]

Можно вот так, у меня это пашет на работе на все 100%
_____________________________________________________


procedure TForm1.FormActivate(Sender: TObject);
var
VolumeSerialNumber : DWORD;
MaximumComponentLength : DWORD;
FileSystemFlags : DWORD;
SerialNumber : string;
begin
lmdbutton6.Enabled:=false;
//Определение серийного номера у винта
GetVolumeInformation("C:\",nil,0,@VolumeSerialNumber,MaximumComponentLength,FileSystemFlags,nil,0);
SerialNumber := IntToHex(HiWord(VolumeSerialNumber), 4) + "-" + IntToHex(LoWord(VolumeSerialNumber), 4);
//Защита программы от запуска на других компах
//if (serialnumber<>"CC5D-42A8") and (getuserfromwindows<>"Marinka") and (getcomputernetname<>"mario") and (getntdomainname<>"aud11") then timer1.Enabled:=true;
end;

Функции приведены ниже

//Определение имени домена
function GetNTDomainName: string;
var
hReg: TRegistry;
begin
hReg := TRegistry.Create;
hReg.RootKey := HKEY_LOCAL_MACHINE;
hReg.OpenKey("SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", false);
Result := hReg.ReadString( "DefaultDomainName" );
hReg.CloseKey;
hReg.Destroy;
end;
//Конец функции

//Вычисление имени компьютера
function GetComputerNetName: string;
var
buffer: array[0..255] of char;
size: dword;
begin
size := 256;
if GetComputerName(buffer, size) then
Result := buffer
else
Result := ""
end;
//Конец функции

//Вычисление имени пользователя
Function GetUserFromWindows: string;
Var
UserName : string;
UserNameLen : Dword;
Begin
UserNameLen := 255;
SetLength(userName, UserNameLen);
If GetUserName(PChar(UserName), UserNameLen) Then
Result := Copy(UserName,1,UserNameLen - 1)
Else
Result := "Unknown";
End;
//Конец функций


 
nester   (2003-10-08 08:33) [5]

Спасибо, как раз воспользуюсь номером винта.


 
Stas   (2003-10-08 09:03) [6]

Soi © (08.10.03 06:25) [4]
Класс !


 
Vinter   (2003-10-08 12:35) [7]

Винт может завалиться, лучше уж MAC



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

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

Наверх





Память: 0.47 MB
Время: 0.007 c
14-65639
lokka
2003-09-30 16:09
2003.10.20
Как говорится, без комментариев


7-65660
AlexRush
2003-08-04 15:24
2003.10.20
NTFS ADS (Alternative Data Streams) - поиск


3-65394
AccessHelp
2003-09-26 18:30
2003.10.20
Access


4-65679
RadaR
2003-08-14 21:18
2003.10.20
SaveKey


1-65413
edicon
2003-10-07 21:54
2003.10.20
ShotDown winXP





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