3

コンパクト フレームワークのみを使用して MAC アドレスを取得するにはどうすればよいですか?

4

4 に答える 4

5

OpenNETCF コードの 1.4 は、次の P/Invoke 呼び出しから情報を取得します。

    [DllImport ("iphlpapi.dll", SetLastError=true)]
    public static extern int GetAdaptersInfo( byte[] ip, ref int size );

物理アドレス(MACアドレスとして返される)は、呼び出し後のバイト配列のインデックス400〜408程度だと思います。したがって、OpenNETCF を使用したくない場合は、それを直接使用することができます (なぜですか? OpenNETCF は石のヘンジ以上のものを揺るがします!)

素晴らしい P/Invoke.net は、ここで完全な例を示しています。

ああ、あなたの質問に適切に答えるために:

Compact Framework のみを使用する

できません。それがCFの人生です。楽しみたい場合は、ソケットを使用してタイムアウトで同期的にデータを送信してみてください。:D

于 2008-09-06T15:35:37.063 に答える
2

「コンパクト フレームワークの MACアドレス:

  1. http://arjunachith.blogspot.com/2007/08/retriving-mac-address-in-compact.html
  2. http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=920417&SiteID=1
  3. http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=188787&SiteID=1

それらのどれも役に立ちませんでしたか?

3 人中 2 人が、それを行う方法としてOpenNETCFを指摘しています。

于 2008-09-03T23:27:47.783 に答える
0

レジストリにアクセスできる場合は、LOCAL_MACHINE\Comm\PCI\***\Parms\MacAddress.

これは、WMI や OpenNETCF の使用を伴わない、手っ取り早いソリューションかもしれません ...

于 2009-01-08T13:36:05.987 に答える
-1

System.Management.dll への参照を追加し、次のようなものを使用します。

Dim mc As System.Management.ManagementClass
Dim mo As ManagementObject
mc = New ManagementClass("Win32_NetworkAdapterConfiguration")
Dim moc As ManagementObjectCollection = mc.GetInstances()
For Each mo In moc
    If mo.Item("IPEnabled") = True Then
        ListBox1.Items.Add("MAC address " & mo.Item("MacAddress").ToString())
    End If
Next
于 2008-09-03T23:26:27.083 に答える