IP 地址转机器名

function IPAddrToName(IPAddr : String): String;
var
    SockAddrIn: TSockAddrIn;
    HostEnt: PHostEnt;
    WSAData: TWSAData;
begin
    WSAStartup($101, WSAData);
    SockAddrIn.sin_addr.s_addr:= inet_addr(PChar(IPAddr));
    HostEnt:= gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
    if HostEnt<>nil then
        result:=StrPas(Hostent^.h_name)
    else
        result:='';
end;

从网络下载文件

function DownloadFile(Source, Dest: string): Boolean;
begin
    try
        Result := UrlDownloadToFile(nil, PChar(source), PChar(Dest), 0, nil) = 0;
    except
        Result := False;
    end;
end;

获取 BIOS 信息(发生异常)

Add('MainBoardBiosName:'+^I+string(Pchar(Ptr($FE061))));
Add('MainBoardBiosCopyRight:'+^I+string(Pchar(Ptr($FE091))));
Add('MainBoardBiosDate:'+^I+string(Pchar(Ptr($FFFF5))));
Add('MainBoardBiosSerialNo:'+^I+string(Pchar(Ptr($FEC71))));

获取连网方式

Function ConnectionKind :boolean;
var
    flags: dword;
begin
    Result := InternetGetConnectedState(@flags, 0);
    if Result then
    begin
        if (flags and INTERNET_CONNECTION_MODEM) = INTERNET_CONNECTION_MODEM then
        begin
            showmessage('Modem');
        end;
        if (flags and INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN then
        begin
            showmessage('LAN');
        end;
        if (flags and INTERNET_CONNECTION_PROXY) = INTERNET_CONNECTION_PROXY then
        begin
            showmessage('Proxy');
        end;
        if (flags and INTERNET_CONNECTION_MODEM_BUSY)=INTERNET_CONNECTION_MODEM_BUSY then
        begin
            showmessage('Modem Busy');
        end;
    end;
end;

取光驱盘符(连接为字符串返回)

function getcdrom : string;
var
    str:string;
    drivers:integer;
    driver:char;
    i,temp:integer;
begin
    result := '';

    drivers:=getlogicaldrives;
    temp:=(1 and drivers);
    for i:=0 to 26 do
    begin
        if temp=1 then
        begin
            driver:=char(i+integer('a'));
            str:=driver+':';
            if getdrivetype(pchar(str))=drive_cdrom then
            begin
                result := result + driver;
            end;
        end;
        drivers:=(drivers shr 1);
        temp:=(1 and drivers);
    end;
end;