Programlarınızın Kopyalanmasını Engellemek Gönderen: molla Tarih: 28 April 2008 10:43:24
Delphide programlarinizin kopyalenmesini engellemek
Merhaba

Programcilikta, hepimizin önem verdigi seylerden biri de ticari amaclarla yazdigimiz programlarin bir bilgisayardan digerine cekilmesini engellemektir. Bunun icin sayisiz yol vardir. Bunlardan biride eger Windows tabanli calisiyorsaniz sudur: Sistem.Dbf diye bir Database dosyasini programin installationinda yaratin ve bu Sistem.dbf dosyasina programin kuruldugu bilgisayarin Biosunun Seri Numarasi, Tarihi, Modeli gibi bilgileri kaydedin. Daha sonra program her calistiginda o anki biosun seri numarasiyla Sistem.Dbf'teki Biosun seri numarasini karsilastirsin, tutmazsa programin calistigi bilgisayar degismis demektir. Sistem.Dbf dosyasini sifreli table yapmaniz daha saglikli olacatir.
Biosun üretim tarihi ve Biosla ilgili diger bilgileri su sekilde elde edebilirsiniz:
unit biosbilgi;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,Registry,
StdCtrls;
const
DBRoot = HKEY_LOCAL_MACHINE;
type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
BRegistry: TRegistry;
Biosdate:string;
Biosname:string;
Biosver:string;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
BRegistry := TRegistry.Create;
BRegistry.RootKey := DBRoot;
BRegistry.LazyWrite := false;
BRegistry.OpenKey('Enum\Root\*PNP0C01\0000', False);
BiosDate := BRegistry.ReadString('BIOSDate');
BiosName := BRegistry.ReadString('BIOSName');
BiosVer := BRegistry.ReadString('BIOSVersion');
BRegistry.CloseKey;
Label1.Caption:=BiosDate;
Label2.Caption:=BiosName;
Label3.Caption:=Biosver;
end;
end.