分类目录归档:Delphi

delphi获取 CPUID

type   TCPUID=array[1..4] of Longint;
FUNCTION GetCPUID : TCPUID; assembler; register;
asm
  PUSH    EBX         {Save affected register}
  PUSH    EDI
  MOV     EDI,EAX     {@Resukt}
  MOV     EAX,1
  DW      $A20F       {CPUID Command}
  STOSD              {CPUID[1]}
  MOV     EAX,EBX
  STOSD               {CPUID[2]}
  MOV     EAX,ECX
  STOSD               {CPUID[3]}
  MOV     EAX,EDX
  STOSD               {CPUID[4]}
  POP     EDI          {Restore registers}
  POP     EBX
END;

调用

procedure TForm3.btn1Click(Sender: TObject);
var cpuid:TCPUID; i:integer;
begin
    cpuid:=GetCPUID;
    for i:=1 to 4 do ssss:=ssss+IntToHex(CPUID[i],4);
    ShowMessage(ssss);
end;

delphi7使用idhttp获取https的页面代码

procedure TForm1.Button1Click(Sender: TObject);
var url:string;
response:TStringStream;
error:string;
begin
  response:=TStringStream.Create('');
  IdHTTP1.IOHandler := IdSSLIOHandlerSocket1;
  IdHTTP1.HandleRedirects:=false;
  IdSSLIOHandlerSocket1.SSLOptions.Method := sslvSSLv3;
  url:='https://passport.jd.com/new/login.aspx';
  try
    IdHTTP1.Get(url);
  except
    on E: Exception do
      error:=E.Message;
  end;
  url:= IdHTTP1.Response.Location;
  if error='HTTP/1.1 302 Found' then
  begin
    IdHTTP1.Get(url,response);
    Memo1.Text := response.DataString;
  end;


  response.Free;
end;

需要把下面两个dll和exe放在一起

注意:不要在delphi ide中按F9运行, 这样(try except)异常会被IDE的调试器捕获,当然可以设置忽略异常,把异常传递给程序,不过并不推荐这样做,会影响下次调试。

看效果直接双击exe即可。