Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit Unit1;
- interface
- uses
- Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
- System.Classes, Vcl.Graphics,
- Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Soap.SOAPHTTPTrans,
- IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient;
- type
- TForm1 = class(TForm)
- btnConnect: TButton;
- txtHWID: TEdit;
- procedure btnConnectClick(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- cpuInfo: String;
- end;
- var
- Form1: TForm1;
- implementation
- uses
- ActiveX,
- ComObj,
- IdHTTP, Unit2;
- {$R *.dfm}
- Function GetHWID: string;
- const
- WbemUser = '';
- WbemPassword = '';
- WbemComputer = 'localhost';
- wbemFlagForwardOnly = $00000020;
- var
- FSWbemLocator: OLEVariant;
- FWMIService: OLEVariant;
- FWbemObjectSet: OLEVariant;
- FWbemObject: OLEVariant;
- oEnum: IEnumvariant;
- iValue: LongWord;
- begin;
- FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
- FWMIService := FSWbemLocator.ConnectServer(WbemComputer, 'root\CIMV2',
- WbemUser, WbemPassword);
- FWbemObjectSet := FWMIService.ExecQuery('SELECT * FROM Win32_Processor',
- 'WQL', wbemFlagForwardOnly);
- oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumvariant;
- while oEnum.Next(1, FWbemObject, iValue) = 0 do
- begin
- result := String(FWbemObject.ProcessorId);
- FWbemObject := Unassigned;
- end;
- end;
- function DownloadsFile(URL: string; list: tstrings): boolean;
- var
- STRM: Tmemorystream;
- HTTP: TIdHTTP;
- ok: boolean;
- begin
- HTTP := TIdHTTP.Create(nil);
- STRM := Tmemorystream.Create;
- ok := True;
- try
- HTTP.Get(URL, STRM);
- STRM.Position := 0;
- list.Clear;
- list.LoadFromStream(STRM);
- except
- ok := false;
- end;
- STRM.Free;
- HTTP.IOHandler.Free;
- HTTP.Free;
- end;
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- txtHWID.Text := GetHWID;
- end;
- procedure TForm1.btnConnectClick(Sender: TObject);
- var
- list: tstrings;
- begin
- list := tstringlist.Create;
- if DownloadsFile('http://gmwsy1.xpg.uol.com.br/HWID.txt', list) then
- begin
- if list.IndexOf(GetHWID) <> -1 then
- begin
- Form2.Show();
- self.Hide();
- end
- else
- begin
- ShowMessage('Seu Hardware Não Está Cadastrado !');
- Application.Terminate;
- end;
- end
- else
- begin
- ShowMessage
- ('Não foi Possivel Verificar Se Este Hardware Não Está Cadastrado !');
- Application.Terminate;
- end;
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement