程序代码:
//包含头文件
#include
#include
#pragma hdrstop
#include "Unit1.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
: TForm(Owner)
{ }
void TForm1::GetHostIpAddress()
{// GetHostIpAddress()获得本机IP地址
struct hostent *thisHost;
struct in_addr in;
char MyName[80];
char *ptr;
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 2, 0 );
err = WSAStartup( wVersionRequested, &wsaData );
if( err != 0 )
return;
if(LOBYTE( wsaData.wVersion ) != 2 ||
HIBYTE( wsaData.wVersion ) != 0 )
{ WSACleanup( );
return; }
if(gethostname(MyName,80)==SOCKET_ERROR)
return;
if(!(thisHost=gethostbyname(MyName)))
return;
memset((void *)&in,sizeof(in),0);
in.s_addr=*((unsigned long *)thisHost-〉h_addr_list[0]);
if(!(ptr=inet_ntoa(in)))
return;
WSACleanup( );
Edit1-〉Text=AnsiString(ptr);}
void __fastcall TForm1::FormCreate(TObject *Sender)
{ GetHostIpAddress();}
void __fastcall TForm1::Button1Click(TObject *Sender)
{Close();//添加一个“确定”按钮,点击即关闭程序。}
程序在 C++ Builder 5 下编译通过。通过比较你会发现他们是大同小异的,对于同一程序,两者工具各有秋千,至于选择哪种由你决定,最好是两者相得益彰。
更多内容请看PCdog.com--Windows操作系统安装 Windows常见故障排除 Windows远程桌面的应用专题
