DLL命令表
創(chuàng)新互聯(lián)公司專注于慈溪企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站定制開(kāi)發(fā)。慈溪網(wǎng)站建設(shè)公司,為慈溪等地區(qū)提供建站服務(wù)。全流程按需設(shè)計(jì)網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
.版本 2 .DLL命令 GetProcAddress, 整數(shù)型, "kernel32", "GetProcAddress", , 返回函數(shù)地址 .參數(shù) hModule, 整數(shù)型 .參數(shù) lpProcName, 文本型 .DLL命令 GetModuleHandle, 整數(shù)型, "kernel32", "GetModuleHandleA", , 獲取一個(gè)應(yīng)用程序或動(dòng)態(tài)鏈接庫(kù)的模塊句柄 如執(zhí)行成功成功,則返回模塊句柄。零表示失敗。會(huì)設(shè)置GetLastError .參數(shù) lpModuleName, 文本型, , 指定模塊名,這通常是與模塊的文件名相同的一個(gè)名字。例如,NOTEPAD.EXE程序的模塊文件名就叫作NOTEPAD; .DLL命令 IsBadCodePtr, 整數(shù)型, "kernel32", "IsBadCodePtr", , 確定讀指針的合法性 .參數(shù) lpfn, 整數(shù)型 .DLL命令 LoadLibrary, 整數(shù)型, "kernel32", "LoadLibraryA", , 載入指定的動(dòng)態(tài)鏈接庫(kù),并將它映射到當(dāng)前進(jìn)程使用的地址空間。一旦載入,即可訪問(wèn)庫(kù)內(nèi)保存的資源 成功則返回庫(kù)模塊的句柄,零表示失敗。會(huì)設(shè)置GetLastError .參數(shù) lpLibFileName, 文本型, , 指定要載入的動(dòng)態(tài)鏈接庫(kù)的名稱。采用與CreateProcess函數(shù)的lpCommandLine參數(shù)指定的同樣的搜索順序;
常量數(shù)據(jù)表
.版本 2 .常量 ERROR_BUFFER_OVERFLOW, "111", , 111 .常量 ERROR_SUCCESS, "0", , 0L .常量 MIB_IF_TYPE_ETHERNET, "6", , 以太網(wǎng)接口 .常量 MIB_IF_TYPE_FDDI, "15", , 15 .常量 MIB_IF_TYPE_LOOPBACK, "24", , 24 .常量 MIB_IF_TYPE_OTHER, "1", , 其他類型的網(wǎng)絡(luò)接口 .常量 MIB_IF_TYPE_PPP, "23", , PPP(點(diǎn)到點(diǎn)協(xié)議)網(wǎng)絡(luò)接口 .常量 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
獲取網(wǎng)卡的IP地址、MAC等信息代碼
.版本 2 .程序集 網(wǎng)卡操作程序集 .子程序 彗星取網(wǎng)卡信息, 整數(shù)型, 公開(kāi), 獲取網(wǎng)卡的IP地址、MAC等信息。 .參數(shù) 網(wǎng)卡信息數(shù)組, NetworkCardInfo, 參考 數(shù)組 .局部變量 MapList, NetworkCardMapName, , "0" .局部變量 AdapterInfo, IP_ADAPTER_INFO .局部變量 BufBin, 字節(jié)集 .局部變量 pAda, 整數(shù)型 .局部變量 nSize, 整數(shù)型 .局部變量 nBufLen, 整數(shù)型 .局部變量 nResult, 整數(shù)型 .局部變量 pAddr, 整數(shù)型 .局部變量 ipAddr, IP_ADDR_STRING .局部變量 strTmp, 文本型 .局部變量 strMac, 文本型 .局部變量 Card, NetworkCardInfo .局部變量 i, 整數(shù)型 清除數(shù)組 (網(wǎng)卡信息數(shù)組) GetAdapterFriendlyName (MapList) ' //-------------------------------------------------- nResult = GetAdaptersInfo_Ptr (0, nBufLen) .如果真 (nResult = #ERROR_BUFFER_OVERFLOW) BufBin = 取空白字節(jié)集 (nBufLen) pAda = GetPtr_Bin (BufBin, BufBin, 0) nResult = GetAdaptersInfo_Ptr (pAda, nBufLen) .如果真 (#ERROR_SUCCESS = nResult) nSize = LocalSize_IP_ADAPTER_INFO (AdapterInfo) .判斷循環(huán)首 (pAda ≠ 0) CopyMemory_P2IP_ADAPTER_INFO (AdapterInfo, pAda, nSize) Card.strName = 到文本 (AdapterInfo.AdapterName) ' //網(wǎng)卡名稱 Card.strDescription = 到文本 (AdapterInfo.Description) ' //網(wǎng)卡描述 Card.nType = AdapterInfo.Type ' //網(wǎng)卡類型 Card.strType = GetAdapterInfoType (AdapterInfo.Type) ' //取出MAC地址 Card.strMac = “” .計(jì)次循環(huán)首 (AdapterInfo.AddressLength - 1, i) .如果真 (i > 1) Card.strMac = Card.strMac + “-” .如果真結(jié)束 .如果真 (AdapterInfo.Address [i] ≤ 16) Card.strMac = Card.strMac + “0” .如果真結(jié)束 Card.strMac = Card.strMac + 取十六進(jìn)制文本 (AdapterInfo.Address [i]) .計(jì)次循環(huán)尾 () ' //取出IP地址和子網(wǎng)掩碼 ipAddr = AdapterInfo.IpAddressList .循環(huán)判斷首 () Card.strIP = 到文本 (ipAddr.IpAddress) Card.strMask = 到文本 (ipAddr.IpMask) 跳出循環(huán) () ' //只取一個(gè) pAddr = ipAddr.Next .如果真 (pAddr ≠ 0) CopyMemory_IP_ADDR_STRING (ipAddr, pAddr, LocalSize_IP_ADDR_STRING (ipAddr)) .如果真結(jié)束 .循環(huán)判斷尾 (pAddr ≠ 0) ' //取出 ipAddr = AdapterInfo.GatewayList .循環(huán)判斷首 () Card.strGateway = 到文本 (ipAddr.IpAddress) 跳出循環(huán) () pAddr = ipAddr.Next .如果真 (pAddr ≠ 0) CopyMemory_IP_ADDR_STRING (ipAddr, pAddr, LocalSize_IP_ADDR_STRING (ipAddr)) .如果真結(jié)束 .循環(huán)判斷尾 (pAddr ≠ 0) ' //取出DNS服務(wù)器 GetDnsServer (AdapterInfo.Index, Card.strDNS1, Card.strDNS2) ' //-------------------------------------------------- .計(jì)次循環(huán)首 (取數(shù)組成員數(shù) (MapList), i) .如果真 (MapList [i].strGUID = Card.strName) Card.strFriendName = MapList [i].strFriendName 跳出循環(huán) () .如果真結(jié)束 .計(jì)次循環(huán)尾 () ' //-------------------------------------------------- 加入成員 (網(wǎng)卡信息數(shù)組, Card) pAda = AdapterInfo.Next .判斷循環(huán)尾 () .如果真結(jié)束 .如果真結(jié)束 ' //-------------------------------------------------- 返回 (取數(shù)組成員數(shù) (網(wǎng)卡信息數(shù)組)) .子程序 GetAdapterFriendlyName, , , 通過(guò)mprapi庫(kù)獲取連接名稱 .參數(shù) MapList, NetworkCardMapName, 數(shù)組 .局部變量 hMprConfig .局部變量 dwBufferSize .局部變量 BufferBin, 字節(jié)集 .局部變量 plfTable, 整數(shù)型 .局部變量 FaceInfo, IP_INTERFACE_INFO .局部變量 Adapter, IP_ADAPTER_INDEX_MAP, , "0" .局部變量 szMapName, 字節(jié)集 .局部變量 szFriendName, 字節(jié)集 .局部變量 nSize, 整數(shù)型 .局部變量 dwRet .局部變量 i, 整數(shù)型 .局部變量 nPos, 整數(shù)型 清除數(shù)組 (MapList) ' //----------------------------------------------------------- dwRet = MprConfigServerConnect (0, hMprConfig) ' //獲得句柄 dwRet = GetInterfaceInfo (0, dwBufferSize) ' //獲得接口信息表大小 .如果真 (dwRet = #ERROR_INSUFFICIENT_BUFFER) BufferBin = 取空白字節(jié)集 (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) 重定義數(shù)組 (Adapter, 假, FaceInfo.NumAdapters) nSize = FaceInfo.NumAdapters × LocalSize_IP_ADAPTER_INDEX_MAP (Adapter [1]) .如果真 (nSize > dwBufferSize) nSize = dwBufferSize .如果真結(jié)束 CopyMemory_P2IP_ADAPTER_INDEX_MAP_Array (Adapter, plfTable + 4, nSize) 重定義數(shù)組 (MapList, 假, FaceInfo.NumAdapters) .計(jì)次循環(huán)首 (FaceInfo.NumAdapters, i) szMapName = 到字節(jié)集 (Adapter [i].Name) szFriendName = 取空白字節(jié)集 (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, 取文本長(zhǎng)度 (MapList [i].strGUID) - nPos + 1) .如果真結(jié)束 .計(jì)次循環(huán)尾 () .如果真結(jié)束 .如果真結(jié)束 .子程序 GetDnsServer, 邏輯型, , 通過(guò)GetPerAdapterInfo獲取指定網(wǎng)卡的DNS服務(wù)器 .參數(shù) nIndex, 整數(shù)型, , IP_ADAPTER_INFO.Index .參數(shù) strDNS1, 文本型, 參考, 首選DNS服務(wù)器 .參數(shù) strDNS2, 文本型, 參考, 備用DNS服務(wù)器 .局部變量 PerAdapterInfo, IP_PER_ADAPTER_INFO .局部變量 BufBin, 字節(jié)集 .局部變量 pAda, 整數(shù)型 .局部變量 nSize, 整數(shù)型 .局部變量 nBufLen, 整數(shù)型 .局部變量 nResult, 整數(shù)型 .局部變量 pAddr, 整數(shù)型 .局部變量 ipAddr, IP_ADDR_STRING .局部變量 nCount, 整數(shù)型 strDNS1 = “” strDNS2 = “” ' //-------------------------------------------------- nResult = GetPerAdapterInfo_Ptr (nIndex, 0, nBufLen) .如果真 (nResult = #ERROR_BUFFER_OVERFLOW) BufBin = 取空白字節(jié)集 (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 .循環(huán)判斷首 () nCount = nCount + 1 .判斷開(kāi)始 (nCount = 1) strDNS1 = 到文本 (ipAddr.IpAddress) .判斷 (nCount = 2) strDNS2 = 到文本 (ipAddr.IpAddress) .默認(rèn) .判斷結(jié)束 pAddr = ipAddr.Next .如果真 (pAddr ≠ 0) CopyMemory_IP_ADDR_STRING (ipAddr, pAddr, LocalSize_IP_ADDR_STRING (ipAddr)) .如果真結(jié)束 .循環(huán)判斷尾 (pAddr ≠ 0) 返回 (真) .如果真結(jié)束 .如果真結(jié)束 ' //-------------------------------------------------- 返回 (假) .子程序 GetAdapterInfoType, 文本型 .參數(shù) nType, 整數(shù)型 .判斷開(kāi)始 (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”) .默認(rèn) 返回 (到文本 (nType)) .判斷結(jié)束
初始化模塊的代碼
.版本 2 .程序集 程序集1 .子程序 _啟動(dòng)子程序, 整數(shù)型, , 請(qǐng)?jiān)诒咀映绦蛑蟹胖靡啄K初始化代碼 載入 (窗口1, , 假) 返回 (0) .子程序 A2W, 字節(jié)集 .參數(shù) MultiByteStr, 文本型, 參考 .局部變量 len, 整數(shù)型 .局部變量 Returned, 字節(jié)集 len = MultiByteToWideChar (0, 0, MultiByteStr, -1, { }, 0) Returned = 取空白字節(jié)集 ((len + 1) × 2) MultiByteToWideChar (0, 0, MultiByteStr, -1, Returned, 取字節(jié)集長(zhǎng)度 (Returned)) 返回 (Returned) .子程序 W2A, 文本型 .參數(shù) CharStr, 字節(jié)集 .局部變量 len, 整數(shù)型 .局部變量 Returned, 文本型 len = WideCharToMultiByte (1, 0, CharStr, -1, 字符 (0), 0, 字符 (0), 假) Returned = 取空白文本 (len) WideCharToMultiByte (1, 0, CharStr, -1, Returned, 取文本長(zhǎng)度 (Returned), 字符 (0), 假) 返回 (Returned)
取網(wǎng)卡信息的代碼
.版本 2 .支持庫(kù) iext .程序集 窗口程序集_窗口1 .子程序 _窗口1_創(chuàng)建完畢 .局部變量 網(wǎng)卡信息數(shù)組, NetworkCardInfo, , "0" .局部變量 網(wǎng)卡數(shù)量, 整數(shù)型 .局部變量 網(wǎng)卡名稱, 文本型 .局部變量 i, 整數(shù)型 .局部變量 x, 整數(shù)型 樹(shù)型框1.清空 () 網(wǎng)卡數(shù)量 = 彗星取網(wǎng)卡信息 (網(wǎng)卡信息數(shù)組) .計(jì)次循環(huán)首 (取數(shù)組成員數(shù) (網(wǎng)卡信息數(shù)組), i) 網(wǎng)卡名稱 = “網(wǎng)卡” + 到文本 (i) + “ ” + 網(wǎng)卡信息數(shù)組 [i].strFriendName x = 樹(shù)型框1.加入項(xiàng)目 (-1, 網(wǎng)卡名稱, 0, 0, , , ) 樹(shù)型框1.加入項(xiàng)目 (x, “連接名稱:” + 網(wǎng)卡信息數(shù)組 [i].strFriendName, , , , , ) 樹(shù)型框1.加入項(xiàng)目 (x, “網(wǎng)卡名稱:” + 網(wǎng)卡信息數(shù)組 [i].strName, , , , , ) 樹(shù)型框1.加入項(xiàng)目 (x, “網(wǎng)卡描述:” + 網(wǎng)卡信息數(shù)組 [i].strDescription, , , , , ) 樹(shù)型框1.加入項(xiàng)目 (x, “網(wǎng)卡類型:” + 網(wǎng)卡信息數(shù)組 [i].strType, , , , , ) 樹(shù)型框1.加入項(xiàng)目 (x, “MAC地址:” + 網(wǎng)卡信息數(shù)組 [i].strMac, , , , , ) 樹(shù)型框1.加入項(xiàng)目 (x, “IP地址:” + 網(wǎng)卡信息數(shù)組 [i].strIP, , , , , ) 樹(shù)型框1.加入項(xiàng)目 (x, “子網(wǎng)掩碼:” + 網(wǎng)卡信息數(shù)組 [i].strMask, , , , , ) 樹(shù)型框1.加入項(xiàng)目 (x, “網(wǎng)關(guān)地址:” + 網(wǎng)卡信息數(shù)組 [i].strGateway, , , , , ) 樹(shù)型框1.加入項(xiàng)目 (x, “首選DNS:” + 網(wǎng)卡信息數(shù)組 [i].strDNS1, , , , , ) 樹(shù)型框1.加入項(xiàng)目 (x, “備用DNS:” + 網(wǎng)卡信息數(shù)組 [i].strDNS2, , , , , ) 樹(shù)型框1.擴(kuò)展 (x) .計(jì)次循環(huán)尾 ()
運(yùn)行結(jié)果:
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)創(chuàng)新互聯(lián)的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
分享標(biāo)題:易語(yǔ)言調(diào)用api枚舉網(wǎng)卡名稱并且獲取信息的代碼
網(wǎng)址分享:http://www.rwnh.cn/article6/ghccog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、電子商務(wù)、做網(wǎng)站、軟件開(kāi)發(fā)、服務(wù)器托管、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
營(yíng)銷型網(wǎng)站建設(shè)知識(shí)