
VB60可使用Winsock控件读取它的LocalIP属性来获取当前本机的IP地址。
Winsock 控件,它提供了访问 TCP 和 UDP 网络服务的方便途径。Microsoft Access、Visual Basic、Visual C++ 或 Visual
FoxPro 的开发人员都可使用它。为编写客户或服务器应用程序,不必了解 TCP 的细节或调用低级的 Winsock
APIs。通过设置控件的属性并调用其方法就可轻易连接到一台远程机器上去,并且还可双向交换数据。
LocalIP 属性
返回本地机器的 IP 地址,格式是 IP 地址加点字符串 (xxxxxxxxxxxx)。在设计时是只读的,而且是不可用的。
语法
objectLocalIP
object 所在处代表一个对象表达式,其值是“应用于”列表中的对象。
代码示例:
Private Sub Form_Load()Label1Caption = Winsock1LocalIP
End Sub
如果你有Winsock控件的话,可以用下面的程序来得到:
Dim WS
Set WS=CreateObject("MSWinsockWinsock")
MsgBox "Local IP=" & WSLocalIP
d出信息框中会显示本地IP。
而Winsock控件,可从通过安装VB60来获得。
///
代码如下
strComputer = ""
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set IPConfigSet = objWMIServiceExecQuery _
("Select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each IPConfig in IPConfigSet
If Not IsNull(IPConfigIPAddress) Then
For i=LBound(IPConfigIPAddress) to UBound(IPConfigIPAddress)
WScriptEcho IPConfigIPAddress(i)
Next
End If
Next
如果要给inet_addr();用,可以定义CString ip;
然后GetWindowText(ip);
inet_addr(ip);即可。
如果要获取具体的字节值,可以用成员函数GetAddress
int GetAddress(
BYTE& nField0,
BYTE& nField1,
BYTE& nField2,
BYTE& nField3
);
int GetAddress(
DWORD& dwAddress
);
dwAddress的值和inet_addr(ip);返回的值相同
IP控件也是常用的控件之一,也是最简单的一个控件,MFC对他的封装无非就是一个字符串的处理。使用起来也相当简便。
首先拖动控件到指定的地方,用ClassWizard为其关联一个变量,我们看到变量的类型任然是一个类,IPAddressCtrl的类,下面介绍几种常用的 *** 作:
1, 将IP地址输出到Ip控件显示:只需要短短两行代码,假定要显示的IP地址是19216811,则在确定的消息相应函数添加
Cpp代码
CString a="19216811";
m_ipSetWindowText(a);
2 将IP地址输入到程序中:
Cpp代码
BYTE a1,a2,a3,a4;
m_ipGetAddress(a1,a2,a3,a4);
CString str;
strFormat("%d%d%d%d",a1,a2,a3,a4);//这里的nf得到的值是IP值了
MessageBox(str);
以上就是关于vb获取当前ip问题全部的内容,包括:vb获取当前ip问题、VBS脚本如何获取当前计算机的ip地址、MFC里的IP控件里的内容怎么取出来inet_addr();这后要给这个函数用的,弄了很久,都没有转换格式成功.......等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)