Delphi Can

Orjinalini görmek için tıklayınız: Kullanıcı adı oluşturma
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Merhaba, Delphi Community kullanıyorum.

FMX ile yapmış olduğum programda kullanıcının bilgisayar adıyla programa giriş yapmasını sağlıyorum.
Yanlız PC'ye format atılması veya adının değişmesi durumda daha önce kayıt altına almış oduğum kullanıcı adı bir işe yaramaz oluyor.


PC'ye format atılsa bile değişmemyecek bir kullanıcı adı nasıl? alabilirim.


Kullanıcı adı:

procedure TMainForm.FormShow(Sender: TObject);
var
  FileSystemFlags: DWORD;
  VolumeSerialNumber: DWORD;
  MaximumComponentLength: DWORD;
begin
  if GetVolumeInformation('C:\', Nil, 0, @VolumeSerialNumber, MaximumComponentLength, FileSystemFlags, Nil, 0) then
  begin
    ButtonUserLogin.Text := IntToHex(HiWord(VolumeSerialNumber), 5) + IntToHex(LoWord(VolumeSerialNumber), 4);
  end;
end;
(06-01-2023, Saat: 11:55)Altıner Adlı Kullanıcıdan Alıntı: [ -> ]Merhaba, Delphi Community kullanıyorum.

FMX ile yapmış olduğum programda kullanıcının bilgisayar adıyla programa giriş yapmasını sağlıyorum.
Yanlız PC'ye format atılması veya adının değişmesi durumda daha önce kayıt altına almış oduğum kullanıcı adı bir işe yaramaz oluyor.


PC'ye format atılsa bile değişmemyecek bir kullanıcı adı nasıl? alabilirim.


Kullanıcı adı:

procedure TMainForm.FormShow(Sender: TObject);
var
  FileSystemFlags: DWORD;
  VolumeSerialNumber: DWORD;
  MaximumComponentLength: DWORD;
begin
  if GetVolumeInformation('C:\', Nil, 0, @VolumeSerialNumber, MaximumComponentLength, FileSystemFlags, Nil, 0) then
  begin
    ButtonUserLogin.Text := IntToHex(HiWord(VolumeSerialNumber), 5) + IntToHex(LoWord(VolumeSerialNumber), 4);
  end;
end;

Merhabalar,

Siz HDD'nin VolumeSerialNumber'ını alıyorsunuz. HDD formatlanmasında bu değişir.
Bu nedenle kalıcı bilgileri almanız gerekli.

Örneğin;
 - HDD Fabrika Numarası
 - CPU ID
 - AnaKart ID  gibi.

Örnek HDD Fabrika ID'si için
 - https://stackoverflow.com/questions/1321...ith-delphi
 - https://stackoverflow.com/questions/5202...ial-number

İnceleyebilirsiniz.

Kolay gelsin.
@hi_selamlar Teşekkür ederim.