如何取得本机的子网掩码?

huang76mx 2002-07-13 09:30:37
加精
如何取得本机的子网掩码?
...全文
682 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
acptvb 2002-07-16
  • 打赏
  • 举报
回复
感谢您使用微软产品。

您可以用wmi方式取得本机所有网卡的所有子网掩码,如下例:

Private Sub Command1_Click()

Dim subnet() As String

WQL = "Select * From Win32_NetworkAdapter Where AdapterType='Ethernet 802.3'"

Set NetworkAdapters = GetObject("winmgmts:").ExecQuery(WQL)

For Each Adapter In NetworkAdapters

Debug.Print "------------------------------"
Debug.Print Adapter.DeviceID

Dim RetVal

WQL = "winmgmts:Win32_NetworkAdapterConfiguration=" & Adapter.DeviceID

Set NIC = GetObject(WQL)
For Each mask In NIC.IPSubnet
Debug.Print mask
Next

Next

End Sub

详细信息请参考:
Win32_NetworkAdapter
http://msdn.microsoft.com/library/en-us/wmisdk/wmi/win32_networkadapter.asp
Win32_NetworkAdapterConfiguration
http://msdn.microsoft.com/library/en-us/wmisdk/wmi/win32_networkadapterconfiguration.asp

- 微软全球技术中心 VB技术支持

本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款
(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查
(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
chenyu5188 2002-07-15
  • 打赏
  • 举报
回复
大家注意本人是菜鸟~!!!在此我要发表我的一些意见~!!!
首先我们走的路就是错的。获取本机子网掩码就不应该走注册表主这条路。
不同系统版本的注册表键值不一样,这样会使程序的通用性变得极差~!!!
还有不同机子如果是同一个操作系统,如果安装了不同类型的网卡,那么它在注册表中的键值也不会相同~!!!
我坚决认为从注册表获取本机的子网掩码是行不通的~!!!
本菜鸟认为应该从别处下手,这属于网络编程的范畴,而不是注册表编程的范畴~!
大家一起努力,帮白云小姐一把~!!!
什么她是小姐~!!!呵呵~~~~ 各位大虾你们还不知道吧??!~!:)
小姐你们还不帮忙??????Let's Go~!!!!!!!!!!

QQ:5367778
http://5apc.yeah.net
huang76mx 2002-07-15
  • 打赏
  • 举报
回复
你的问题为什么要问在我的问题后面?
banweihui 2002-07-15
  • 打赏
  • 举报
回复
我现在到有个问题,听起来很简单,结构也不复杂,但是不知道该如何实现,大家感兴趣的话就讨论一下:
两台机器,对等连接,用网卡。各自都有server的服务器和相同的VB应用程序,可以分别分时分地工作,但由于需要,数据库的数据需要在工作日进行统一更新,就是互相追加各自更新过的数据(各自更新过的意思就是完全不同),可是工作人员是不会操作server的,也不会去复制DATA文件夹,必须给他提供一个或n个按钮,对整个过程进行操作,要求很简单,但是,如何在联网的情况下同时或分时识别本地及远程的server 呢?用ODBC,vb中用的DATA Environment来完成数据存储……这个问题完全是由于环境所致,工作需要,必须得这么弄~谁能解释一下你的方案????
DragonFly_1976 2002-07-13
  • 打赏
  • 举报
回复
可以到网上下载相关的原程序。
huang76mx 2002-07-13
  • 打赏
  • 举报
回复
D87A7F85-C84F-44E7-9071-5FF1764A82C2 我这台机子就不是这个数
huang76mx 2002-07-13
  • 打赏
  • 举报
回复
那么复杂啊?我都不知道怎么用
DragonFly_1976 2002-07-13
  • 打赏
  • 举报
回复
D87A7F85-C84F-44E7-9071-5FF1764A82C2 是一样,至于98 和 2000得分别对待。
yzfx 2002-07-13
  • 打赏
  • 举报
回复
把分给我:
Public Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As Any, lpcbData As Long) As Long ' Note that if you declare the lpData parameter as String, you must pass it By Value.
Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long ' Note that if you declare the lpData parameter as String, you must pass it By Value.
Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
huang76mx 2002-07-13
  • 打赏
  • 举报
回复
win98和win2000也不一样
DragonFly_1976 2002-07-13
  • 打赏
  • 举报
回复
使用api函数。
huang76mx 2002-07-13
  • 打赏
  • 举报
回复
D87A7F85-C84F-44E7-9071-5FF1764A82C2每台机子不一样,怎么操作?
yzfx 2002-07-13
  • 打赏
  • 举报
回复
不过我可以更正一下:是ontrolset001,不是controlset01

在注册表local_machtion\system\controlset001\services\{D87A7F85-C84F-44E7-9071-5FF1764A82C2}\ParametersTcpip\Tcpip\SubnetMask

huang76mx 2002-07-13
  • 打赏
  • 举报
回复
如何取得?
yzfx 2002-07-13
  • 打赏
  • 举报
回复
唉,给你答了。我要分呀.
DragonFly_1976 2002-07-13
  • 打赏
  • 举报
回复
在注册表local_machtion\system\controlset01\services\{D87A7F85-C84F-44E7-9071-5FF1764A82C2}\ParametersTcpip\Tcpip\SubnetMask
chenyu5188 2002-07-13
  • 打赏
  • 举报
回复
用API 函数读取上述注册表项.regopenkey

具体怎么取得,你要查找有关资料~!!!

不要过于太依赖于别人,自己动手做~!!!

Do It YourSelf~!!!!(DIY)

QQ:5367778

http://5apc.yeah.net

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧