方法一:

 VB獲取計算機名稱,內、外網IP,很簡單,僅作示例。這些在編大軟件時作為裝飾。

Author:Minghacker

添加winsock控件,Inet控件

Private Declare Function ReleaseCapture Lib "user32" () As Long none窗體的移動
       Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long,ByVal wParam As Long, lParam As Any) As Long
       Private Const WM_SYSCOMMAND = &H112
       Private Const SC_MOVE = &HF010&
       Private Const HTCAPTION = 2
       Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
       ReleaseCapture
       ret& = SendMessage(Me.hWnd, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0)
End Sub

Private Sub Form_Load()
Text1(0).Text = Winsock1.LocalHostName 必須添加winsock控件
Text1(1).Text = Winsock1.LocalIP 必須添加winsock控件
Text1(2).Text = Inet1.OpenURL("Http://www.3322.org/dyndns/getip") 必須添加Inet控件
End Sub

 

其中依靠winsock控件,Inet控件

內網IP獲取:在Delphi6以上的版本中,有一個IdIPWatch控件,它的功能就是檢測網絡在線狀態和獲取

IP地址。此控件在Indy Misc頁面。用IDIPwatch1.LocalIP。當然也可以用Winsock,我們擇便捷用。

可以這樣寫、procedure TForm1.IP1Click(Sender: TObject);
       showmessage(IDIPwatch1.LocalIP)

end;
但是showmessage沒額外參數,不能改標題,我們換做messagebox也很簡單:

procedure TForm1.IP1Click(Sender: TObject);
var
 Wnd:HWND;
begin
  Wnd:=application.Handle;
  messagebox(Wnd,PChar(IDIPwatch1.LocalIP),PChar(InSun),MB_OK);
end;


外網Ip獲取:

Delphi中用TIdHTTP控件 ,在Indy Clients頁面。

  示例:
       Memo1.Lines.Text   :=   IdHTTP.Get(URL);   

或

showmessage(IdHTTP1.Get(http://www.3322.org/dyndns/getip));

所以我們的代碼是:
procedure TForm1.IP2Click(Sender: TObject);

var
 Wnd:HWND;
begin
  Wnd:=application.Handle;
  messagebox(Wnd,PChar(IdHTTP1.Get(http://www.3322.org/dyndns/getip)),PChar(InSun),MB_OK);
end;

 

方法二:

朋友們在用Delphi編程序的時候,常常碰到需要在程序中獲取自己的IP地址的情況。在以往的版本中,可以通過編寫一段代碼或函數實現這一功能。但有了Delphi 7,這個工作可以更簡化了。利用控件只需一句代碼,就可以非常方便地實現這一功能。

 

新建一Project1,在form1中添加控件statusbar1(Win32頁)和控件IdIPWatch1(Indy Misc頁)。接着設置好控件屬性:在statusbar1的panels中添加0-TStatusPanel和1-TStatusPanel兩項;IdIPWatch1的HistoryEnabled的屬性設為False。

 

  編寫代碼:在TForm1.FormCreate(Sender: TObject)中加入以下代碼:

 

statusbar1.Panels[1].Text:=IdIPWatch1.LocalIP;

 

  OK!按下F9功能鍵,運行程序,看一下窗口下邊狀態欄中是不是已經顯示了本機的IP地址了?

 

  提示:若IdIPWatch1的HistoryEnabled的屬性設為True,則會在程序退出時,自動生成一個文件(文件名為HistoryFileName屬性設定的值),記錄當前的IP地址。