lazarus-ccr/components/onguard/examples/exmachid/umachid.pas

68 lines
1.3 KiB
ObjectPascal

unit uMachID;
interface
uses
SysUtils, Classes,
Graphics, Controls, Forms, Dialogs,Buttons, StdCtrls,LResources;
type
{ TfrmExMachineID }
TfrmExMachineID = class(TForm)
GroupBox1: TGroupBox;
chkUser: TCheckBox;
chkSystem: TCheckBox;
chkNetwork: TCheckBox;
chkDrives: TCheckBox;
btnGenerate: TButton;
edtMachineID: TEdit;
procedure btnGenerateClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmExMachineID: TfrmExMachineID;
implementation
uses
onguard, ogutil;
procedure TfrmExMachineID.btnGenerateClick(Sender: TObject);
var
InfoSet : TEsMachineInfoSet;
MachineID : Longint;
begin
{ initialize the machine information set }
InfoSet := [];
if chkUser.Checked then
InfoSet := InfoSet + [midUser];
if chkSystem.Checked then
InfoSet := InfoSet + [midSystem];
if chkNetwork.Checked then
InfoSet := InfoSet + [midNetwork];
if chkDrives.Checked then
InfoSet := InfoSet + [midDrives];
{ create the machine ID and display in hex }
try
MachineID := CreateMachineID(InfoSet);
edtMachineID.Text := '$' + BufferToHex(MachineID, SizeOf(MachineID));
except on E:Exception do
ShowMessage(E.Message);
end;
end;
initialization
{$I umachid.lrs}
end.