0

Visual FoxPro 9を介してActiveXコンポーネントから動的配列を取得しようとしていますが、うまくいきません。(編集および作業例)

LOCAL objMain, objAdapt

#define CrLf CHR(13) + CHR(10)

stMsg = ""

objMain = CREATEOBJECT('nnetsdk.oMain')

objMain.UnlockComponent("xxx-xxxxx-xxxxx-xx")

objAdapt = CREATEOBJECT('nnetsdk.oNetworkAdapter')

objAdapt.GetNetworkAdapters && Collects Network Adapter information

vrAdapters = objAdapt.cName && cName holds collected Network Adapter names

FOR EACH vrAdapter IN vrAdapters
 stMsg = stMsg + vrAdapter + CrLf
ENDFOR

MESSAGEBOX(stMsg,64,"List Network Adapters")

RELEASE objAdapt
RELEASE objMain

誰かがこのコードの何が問題なのか説明してもらえますか?

4

1 に答える 1

1

「nnetcom.oMain」ActiveXコントロールが何であるかはわかりませんが、VFPから直接取得できます。

lcComputerName = "."
loWMIService = GETOBJECT("winmgmts:\\" + lcComputerName + "\root\cimv2")
loItems = loWMIService.ExecQuery("Select * from Win32_NetworkAdapter",,48)

FOR EACH loItem IN loItems
    lcMACAddress = loItem.MACAddress
    IF !ISNULL(lcMACAddress)
        */ then, you can look at the object properties, such as 
        lcDescription = loItem.Description
        lcMacAddress = loItem.MACAddress
        lcNetConnectionID = NVL( loItem.NetConnectionID, "" )
   ENDIF
ENDFOR

For Eachループは、[Win32_NetworkAdapter]クラス構造のクラスインスタンスを循環します。あなたはそのリストからあなたが望むほとんど何でも得ることができます。 1

于 2012-04-23T19:09:24.240 に答える