全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1813
推到 Plurk!
推到 Facebook!

在vista運行程序的兼容問題

尚未結案
takdick
一般會員


發表:50
回覆:63
積分:22
註冊:2002-08-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-05-21 11:19:05 IP:218.102.xxx.xxx 訂閱
以下的代碼在XP系統執行可以得到上網時的動態IP,但在VISTA執行得到的卻只是內網的IP(169.254...),請問如何解決? (我試過以兼容模式和以系統管理員的身份運行程序,但問題依舊)

先在uses處加入winsock,在form中加入一個button及edit
加入以下function原始碼
=========================================================
function LocalIP : string;
type
TaPInAddr = array [0..10] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe : PHostEnt;
pptr : PaPInAddr;
Buffer : array [0..63] of char;
I : Integer;
GInitData : TWSADATA;
begin
WSAStartup($101, GInitData);
Result := '';
GetHostName(Buffer, SizeOf(Buffer));
phe :=GetHostByName(buffer);
if phe = nil then
begin
Exit;
end;
pptr := PaPInAddr(Phe^.h_addr_list);
I := 0;
while pptr^[I] <> nil do
begin
result:=StrPas(inet_ntoa(pptr^[I]^));
Inc(I);
end;
WSACleanup;
end;
系統時間:2024-04-24 10:53:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!