Advertisement
Guest User

Untitled

a guest
Dec 10th, 2016
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.51 KB | None | 0 0
  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6. Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  7. System.Classes, Vcl.Graphics,
  8. Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Soap.SOAPHTTPTrans,
  9. IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient;
  10.  
  11. type
  12. TForm1 = class(TForm)
  13. btnConnect: TButton;
  14. txtHWID: TEdit;
  15. procedure btnConnectClick(Sender: TObject);
  16. procedure FormCreate(Sender: TObject);
  17. private
  18. { Private declarations }
  19. public
  20. { Public declarations }
  21. cpuInfo: String;
  22. end;
  23.  
  24. var
  25. Form1: TForm1;
  26.  
  27. implementation
  28.  
  29. uses
  30. ActiveX,
  31. ComObj,
  32. IdHTTP, Unit2;
  33. {$R *.dfm}
  34.  
  35. Function GetHWID: string;
  36. const
  37. WbemUser = '';
  38. WbemPassword = '';
  39. WbemComputer = 'localhost';
  40. wbemFlagForwardOnly = $00000020;
  41. var
  42. FSWbemLocator: OLEVariant;
  43. FWMIService: OLEVariant;
  44. FWbemObjectSet: OLEVariant;
  45. FWbemObject: OLEVariant;
  46. oEnum: IEnumvariant;
  47. iValue: LongWord;
  48. begin;
  49. FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
  50. FWMIService := FSWbemLocator.ConnectServer(WbemComputer, 'root\CIMV2',
  51. WbemUser, WbemPassword);
  52. FWbemObjectSet := FWMIService.ExecQuery('SELECT * FROM Win32_Processor',
  53. 'WQL', wbemFlagForwardOnly);
  54. oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumvariant;
  55. while oEnum.Next(1, FWbemObject, iValue) = 0 do
  56. begin
  57. result := String(FWbemObject.ProcessorId);
  58. FWbemObject := Unassigned;
  59. end;
  60. end;
  61.  
  62. function DownloadsFile(URL: string; list: tstrings): boolean;
  63. var
  64. STRM: Tmemorystream;
  65. HTTP: TIdHTTP;
  66. ok: boolean;
  67. begin
  68. HTTP := TIdHTTP.Create(nil);
  69. STRM := Tmemorystream.Create;
  70. ok := True;
  71. try
  72. HTTP.Get(URL, STRM);
  73. STRM.Position := 0;
  74. list.Clear;
  75. list.LoadFromStream(STRM);
  76. except
  77. ok := false;
  78. end;
  79. STRM.Free;
  80. HTTP.IOHandler.Free;
  81. HTTP.Free;
  82. end;
  83.  
  84. procedure TForm1.FormCreate(Sender: TObject);
  85. begin
  86. txtHWID.Text := GetHWID;
  87. end;
  88.  
  89. procedure TForm1.btnConnectClick(Sender: TObject);
  90. var
  91. list: tstrings;
  92. begin
  93. list := tstringlist.Create;
  94. if DownloadsFile('http://gmwsy1.xpg.uol.com.br/HWID.txt', list) then
  95. begin
  96. if list.IndexOf(GetHWID) <> -1 then
  97. begin
  98. Form2.Show();
  99. self.Hide();
  100. end
  101. else
  102. begin
  103. ShowMessage('Seu Hardware Não Está Cadastrado !');
  104. Application.Terminate;
  105. end;
  106. end
  107. else
  108. begin
  109. ShowMessage
  110. ('Não foi Possivel Verificar Se Este Hardware Não Está Cadastrado !');
  111. Application.Terminate;
  112. end;
  113. end;
  114.  
  115. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement