麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > 易語言 > 正文

易語言調用api枚舉網卡名稱并且獲取信息的代碼

2024-07-21 23:02:39
字體:
來源:轉載
供稿:網友

DLL命令表

.版本 2.DLL命令 GetProcAddress, 整數型, "kernel32", "GetProcAddress", , 返回函數地址  .參數 hModule, 整數型  .參數 lpProcName, 文本型.DLL命令 GetModuleHandle, 整數型, "kernel32", "GetModuleHandleA", , 獲取一個應用程序或動態鏈接庫的模塊句柄 如執行成功成功,則返回模塊句柄。零表示失敗。會設置GetLastError  .參數 lpModuleName, 文本型, , 指定模塊名,這通常是與模塊的文件名相同的一個名字。例如,NOTEPAD.EXE程序的模塊文件名就叫作NOTEPAD;.DLL命令 IsBadCodePtr, 整數型, "kernel32", "IsBadCodePtr", , 確定讀指針的合法性  .參數 lpfn, 整數型.DLL命令 LoadLibrary, 整數型, "kernel32", "LoadLibraryA", , 載入指定的動態鏈接庫,并將它映射到當前進程使用的地址空間。一旦載入,即可訪問庫內保存的資源 成功則返回庫模塊的句柄,零表示失敗。會設置GetLastError  .參數 lpLibFileName, 文本型, , 指定要載入的動態鏈接庫的名稱。采用與CreateProcess函數的lpCommandLine參數指定的同樣的搜索順序;

常量數據表

.版本 2.常量 ERROR_BUFFER_OVERFLOW, "111", , 111.常量 ERROR_SUCCESS, "0", , 0L.常量 MIB_IF_TYPE_ETHERNET, "6", , 以太網接口.常量 MIB_IF_TYPE_FDDI, "15", , 15.常量 MIB_IF_TYPE_LOOPBACK, "24", , 24.常量 MIB_IF_TYPE_OTHER, "1", , 其他類型的網絡接口.常量 MIB_IF_TYPE_PPP, "23", , PPP(點到點協議)網絡接口.常量 MIB_IF_TYPE_SLIP, "28".常量 MIB_IF_TYPE_TOKENRING, "9".常量 MIB_IF_TYPE_IEEE80211, "71", , IEEE 802.11 wireless network interface.常量 ERROR_INSUFFICIENT_BUFFER, "122", , 122

獲取網卡的IP地址、MAC等信息代碼

.版本 2.程序集 網卡操作程序集.子程序 彗星取網卡信息, 整數型, 公開, 獲取網卡的IP地址、MAC等信息。.參數 網卡信息數組, NetworkCardInfo, 參考 數組.局部變量 MapList, NetworkCardMapName, , "0".局部變量 AdapterInfo, IP_ADAPTER_INFO.局部變量 BufBin, 字節集.局部變量 pAda, 整數型.局部變量 nSize, 整數型.局部變量 nBufLen, 整數型.局部變量 nResult, 整數型.局部變量 pAddr, 整數型.局部變量 ipAddr, IP_ADDR_STRING.局部變量 strTmp, 文本型.局部變量 strMac, 文本型.局部變量 Card, NetworkCardInfo.局部變量 i, 整數型清除數組 (網卡信息數組)GetAdapterFriendlyName (MapList)' //--------------------------------------------------nResult = GetAdaptersInfo_Ptr (0, nBufLen).如果真 (nResult = #ERROR_BUFFER_OVERFLOW)  BufBin = 取空白字節集 (nBufLen)  pAda = GetPtr_Bin (BufBin, BufBin, 0)  nResult = GetAdaptersInfo_Ptr (pAda, nBufLen)  .如果真 (#ERROR_SUCCESS = nResult)    nSize = LocalSize_IP_ADAPTER_INFO (AdapterInfo)    .判斷循環首 (pAda ≠ 0)      CopyMemory_P2IP_ADAPTER_INFO (AdapterInfo, pAda, nSize)      Card.strName = 到文本 (AdapterInfo.AdapterName) ' //網卡名稱      Card.strDescription = 到文本 (AdapterInfo.Description) ' //網卡描述      Card.nType = AdapterInfo.Type ' //網卡類型      Card.strType = GetAdapterInfoType (AdapterInfo.Type)      ' //取出MAC地址      Card.strMac = “”      .計次循環首 (AdapterInfo.AddressLength - 1, i)        .如果真 (i > 1)          Card.strMac = Card.strMac + “-”        .如果真結束        .如果真 (AdapterInfo.Address [i] ≤ 16)          Card.strMac = Card.strMac + “0”        .如果真結束        Card.strMac = Card.strMac + 取十六進制文本 (AdapterInfo.Address [i])      .計次循環尾 ()      ' //取出IP地址和子網掩碼      ipAddr = AdapterInfo.IpAddressList      .循環判斷首 ()        Card.strIP = 到文本 (ipAddr.IpAddress)        Card.strMask = 到文本 (ipAddr.IpMask)        跳出循環 () ' //只取一個        pAddr = ipAddr.Next        .如果真 (pAddr ≠ 0)          CopyMemory_IP_ADDR_STRING (ipAddr, pAddr, LocalSize_IP_ADDR_STRING (ipAddr))        .如果真結束      .循環判斷尾 (pAddr ≠ 0)      ' //取出      ipAddr = AdapterInfo.GatewayList      .循環判斷首 ()        Card.strGateway = 到文本 (ipAddr.IpAddress)        跳出循環 ()        pAddr = ipAddr.Next        .如果真 (pAddr ≠ 0)          CopyMemory_IP_ADDR_STRING (ipAddr, pAddr, LocalSize_IP_ADDR_STRING (ipAddr))        .如果真結束      .循環判斷尾 (pAddr ≠ 0)      ' //取出DNS服務器      GetDnsServer (AdapterInfo.Index, Card.strDNS1, Card.strDNS2)      ' //--------------------------------------------------      .計次循環首 (取數組成員數 (MapList), i)        .如果真 (MapList [i].strGUID = Card.strName)          Card.strFriendName = MapList [i].strFriendName          跳出循環 ()        .如果真結束      .計次循環尾 ()      ' //--------------------------------------------------      加入成員 (網卡信息數組, Card)      pAda = AdapterInfo.Next    .判斷循環尾 ()  .如果真結束.如果真結束' //--------------------------------------------------返回 (取數組成員數 (網卡信息數組)).子程序 GetAdapterFriendlyName, , , 通過mprapi庫獲取連接名稱.參數 MapList, NetworkCardMapName, 數組.局部變量 hMprConfig.局部變量 dwBufferSize.局部變量 BufferBin, 字節集.局部變量 plfTable, 整數型.局部變量 FaceInfo, IP_INTERFACE_INFO.局部變量 Adapter, IP_ADAPTER_INDEX_MAP, , "0".局部變量 szMapName, 字節集.局部變量 szFriendName, 字節集.局部變量 nSize, 整數型.局部變量 dwRet.局部變量 i, 整數型.局部變量 nPos, 整數型清除數組 (MapList)' //-----------------------------------------------------------dwRet = MprConfigServerConnect (0, hMprConfig) ' //獲得句柄dwRet = GetInterfaceInfo (0, dwBufferSize) ' //獲得接口信息表大小.如果真 (dwRet = #ERROR_INSUFFICIENT_BUFFER)  BufferBin = 取空白字節集 (dwBufferSize)  plfTable = GetPtr_Bin (BufferBin, BufferBin, 0)  dwRet = GetInterfaceInfo (plfTable, dwBufferSize) ' //獲得接口信息  nSize = LocalSize_IP_INTERFACE_INFO (FaceInfo)  CopyMemory_P2IP_INTERFACE_INFO (FaceInfo, plfTable, nSize)  .如果真 (FaceInfo.NumAdapters > 0)    重定義數組 (Adapter, 假, FaceInfo.NumAdapters)    nSize = FaceInfo.NumAdapters × LocalSize_IP_ADAPTER_INDEX_MAP (Adapter [1])    .如果真 (nSize > dwBufferSize)      nSize = dwBufferSize    .如果真結束    CopyMemory_P2IP_ADAPTER_INDEX_MAP_Array (Adapter, plfTable + 4, nSize)    重定義數組 (MapList, 假, FaceInfo.NumAdapters)    .計次循環首 (FaceInfo.NumAdapters, i)      szMapName = 到字節集 (Adapter [i].Name)      szFriendName = 取空白字節集 (256)      MprConfigGetFriendlyName (hMprConfig, szMapName, szFriendName, 255)      MapList [i].Index = Adapter [i].Index      MapList [i].strMapName = W2A (szMapName)      MapList [i].strFriendName = W2A (szFriendName)      MapList [i].strGUID = MapList [i].strMapName      nPos = 尋找文本 (MapList [i].strGUID, “{”, , 假)      .如果真 (nPos ≠ -1)        MapList [i].strGUID = 取文本右邊 (MapList [i].strGUID, 取文本長度 (MapList [i].strGUID) - nPos + 1)      .如果真結束    .計次循環尾 ()  .如果真結束.如果真結束.子程序 GetDnsServer, 邏輯型, , 通過GetPerAdapterInfo獲取指定網卡的DNS服務器.參數 nIndex, 整數型, , IP_ADAPTER_INFO.Index.參數 strDNS1, 文本型, 參考, 首選DNS服務器.參數 strDNS2, 文本型, 參考, 備用DNS服務器.局部變量 PerAdapterInfo, IP_PER_ADAPTER_INFO.局部變量 BufBin, 字節集.局部變量 pAda, 整數型.局部變量 nSize, 整數型.局部變量 nBufLen, 整數型.局部變量 nResult, 整數型.局部變量 pAddr, 整數型.局部變量 ipAddr, IP_ADDR_STRING.局部變量 nCount, 整數型strDNS1 = “”strDNS2 = “”' //--------------------------------------------------nResult = GetPerAdapterInfo_Ptr (nIndex, 0, nBufLen).如果真 (nResult = #ERROR_BUFFER_OVERFLOW)  BufBin = 取空白字節集 (nBufLen)  pAda = GetPtr_Bin (BufBin, BufBin, 0)  nResult = GetPerAdapterInfo_Ptr (nIndex, pAda, nBufLen)  .如果真 (#ERROR_SUCCESS = nResult)    nSize = LocalSize_IP_PER_ADAPTER_INFO (PerAdapterInfo)    CopyMemory_P2IP_PER_ADAPTER_INFO (PerAdapterInfo, pAda, nSize)    ipAddr = PerAdapterInfo.DnsServerList    .循環判斷首 ()      nCount = nCount + 1      .判斷開始 (nCount = 1)        strDNS1 = 到文本 (ipAddr.IpAddress)      .判斷 (nCount = 2)        strDNS2 = 到文本 (ipAddr.IpAddress)      .默認      .判斷結束      pAddr = ipAddr.Next      .如果真 (pAddr ≠ 0)        CopyMemory_IP_ADDR_STRING (ipAddr, pAddr, LocalSize_IP_ADDR_STRING (ipAddr))      .如果真結束    .循環判斷尾 (pAddr ≠ 0)    返回 (真)  .如果真結束.如果真結束' //--------------------------------------------------返回 (假).子程序 GetAdapterInfoType, 文本型.參數 nType, 整數型.判斷開始 (nType = #MIB_IF_TYPE_OTHER)  返回 (“OTHER”).判斷 (nType = #MIB_IF_TYPE_ETHERNET)  返回 (“ETHERNET”).判斷 (nType = #MIB_IF_TYPE_TOKENRING)  返回 (“TOKENRING”).判斷 (nType = #MIB_IF_TYPE_FDDI)  返回 (“FDDI”).判斷 (nType = #MIB_IF_TYPE_PPP)  返回 (“PPP”).判斷 (nType = #MIB_IF_TYPE_LOOPBACK)  返回 (“LOOPBACK”).判斷 (nType = #MIB_IF_TYPE_SLIP)  返回 (“SLIP”).判斷 (nType = #MIB_IF_TYPE_IEEE80211)  返回 (“IEEE80211”).默認  返回 (到文本 (nType)).判斷結束

初始化模塊的代碼

.版本 2.程序集 程序集1.子程序 _啟動子程序, 整數型, , 請在本子程序中放置易模塊初始化代碼載入 (窗口1, , 假)返回 (0).子程序 A2W, 字節集.參數 MultiByteStr, 文本型, 參考.局部變量 len, 整數型.局部變量 Returned, 字節集len = MultiByteToWideChar (0, 0, MultiByteStr, -1, { }, 0)Returned = 取空白字節集 ((len + 1) × 2)MultiByteToWideChar (0, 0, MultiByteStr, -1, Returned, 取字節集長度 (Returned))返回 (Returned).子程序 W2A, 文本型.參數 CharStr, 字節集.局部變量 len, 整數型.局部變量 Returned, 文本型len = WideCharToMultiByte (1, 0, CharStr, -1, 字符 (0), 0, 字符 (0), 假)Returned = 取空白文本 (len)WideCharToMultiByte (1, 0, CharStr, -1, Returned, 取文本長度 (Returned), 字符 (0), 假)返回 (Returned)

取網卡信息的代碼

.版本 2.支持庫 iext.程序集 窗口程序集_窗口1.子程序 _窗口1_創建完畢.局部變量 網卡信息數組, NetworkCardInfo, , "0".局部變量 網卡數量, 整數型.局部變量 網卡名稱, 文本型.局部變量 i, 整數型.局部變量 x, 整數型樹型框1.清空 ()網卡數量 = 彗星取網卡信息 (網卡信息數組).計次循環首 (取數組成員數 (網卡信息數組), i)  網卡名稱 = “網卡” + 到文本 (i) + “ ” + 網卡信息數組 [i].strFriendName  x = 樹型框1.加入項目 (-1, 網卡名稱, 0, 0, , , )  樹型框1.加入項目 (x, “連接名稱:” + 網卡信息數組 [i].strFriendName, , , , , )  樹型框1.加入項目 (x, “網卡名稱:” + 網卡信息數組 [i].strName, , , , , )  樹型框1.加入項目 (x, “網卡描述:” + 網卡信息數組 [i].strDescription, , , , , )  樹型框1.加入項目 (x, “網卡類型:” + 網卡信息數組 [i].strType, , , , , )  樹型框1.加入項目 (x, “MAC地址:” + 網卡信息數組 [i].strMac, , , , , )  樹型框1.加入項目 (x, “IP地址:” + 網卡信息數組 [i].strIP, , , , , )  樹型框1.加入項目 (x, “子網掩碼:” + 網卡信息數組 [i].strMask, , , , , )  樹型框1.加入項目 (x, “網關地址:” + 網卡信息數組 [i].strGateway, , , , , )  樹型框1.加入項目 (x, “首選DNS:” + 網卡信息數組 [i].strDNS1, , , , , )  樹型框1.加入項目 (x, “備用DNS:” + 網卡信息數組 [i].strDNS2, , , , , )  樹型框1.擴展 (x).計次循環尾 ()

運行結果:

易語言,api,枚舉,網卡,代碼

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到易語言教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久视频精品 | 色婷婷一区二区三区 | 亚洲午夜久久久精品一区二区三区 | 玖玖视频精品 | 国产精品久久久乱弄 | 精品国产一区二区三区久久久蜜 | 日韩毛片一区二区三区 | 国产手机国产手机在线 | 一区二区久久 | 最新黄色毛片 | 国产va在线观看免费 | 免费观看欧美一级片 | 日日操夜夜操视频 | 污污黄 | 久久久久久久一区二区 | 精品亚洲视频在线观看 | 日本黄色一级电影 | 日本看片一区二区三区高清 | 天堂成人国产精品一区 | 久章草影院 | 国产chinesehd精品91 | 鲁丝一区二区三区不属 | 激情网站视频 | 中国a级黄色片 | 国产一级做a爰片在线看 | 91,视频免费看 | 欧美a视频 | 黄视频网址 | 性盈盈盈影院 | 日本精品视频一区二区三区四区 | 男女羞羞视频在线观看免费 | 亚洲草逼视频 | 久久国产经典 | 黄色av网站免费看 | 黄色片免费在线播放 | 久久久久久久高清 | 婷婷中文字幕一区二区三区 | 国产成人综合在线观看 | 国产精品av久久久久久网址 | av成人免费| 精品一区二区在线观看 |