0

OS Xのシステム環境設定で、「ネットワーク」をクリックすると、「イーサネット」の横に緑色の点が表示され、「AirPort」と「FireWire」の横に赤い点が表示されます。これは、イーサネット経由でネットワークとインターネットにアクセスするときに、AirPortとFireWireをオフにしたためです。

システム環境設定に表示されるこれらのネットワークサービスのどれに緑色の点があり、どれに赤い点があるかをプログラムで判断する必要があります。イーサネットおよびFireWireの場合、表示されるステータスは「接続済み」または「未接続」であり、AirPortの場合、表示されるステータスは「オン」または「オフ」です。おそらく、他のネットワークサービスには他のステータスラベルがあります。

'/Library/Preferences/SystemConfiguration'内のすべてのplistファイル、特に'preferences.plist'と'NetworkInterfaces.plist'を選択しました。ロケーションセット、ネットワークサービスの順序、プロキシ情報(これも私のタスクにとって重要です)など、あらゆる種類の情報を取得できますが、特定のネットワークサービスがオンかオフかを判断する方法がわかりません。緑のドットを表示するのと同じです。

また、システム構成フレームワーク、特にSCNetworkConnectionGetStatus関数を使用してみましたが、取得するのは無効な接続ステータスだけです。

この接続ステータス情報を実際に取得する方法を知っている人はいますか?

ありがとう。

4

1 に答える 1

0

コントロールパネルの緑と赤の点は、通常、ifconfigOSXでのコマンドの出力に関連しています。

通常、それはコンピューターごとに異なる可能性がen0あり、イーサネットポートとen1空港になります。(少なくとも私が使用しているすべてのMacbook Proでは)

ifconfig -mを使用して、サポートされているメディアに関する情報を取得できるようです。

$ ifconfig -m en0
en0:フラグ= 8863 mtu 1500
    エーテル(編集済み)
    メディア:自動選択
    ステータス:非アクティブ
    サポートされているメディア:
        メディアの自動選択
        メディア10baseT/UTPmediaoptハーフデュプレックス
        メディア10baseT/UTPmediaopt全二重
        media 10baseT /UTPmediaopt全二重mediaopthw-loopback
        media 10baseT /UTPmediaopt全二重mediaoptフロー制御
        メディア100baseTXmediaopt半二重
        メディア100baseTXmediaopt全二重
        メディア100baseTXmediaopt全二重mediaopthw-loopback
        メディア100baseTXmediaopt全二重mediaoptフロー制御
        メディア1000baseTmediaopt全二重
        メディア1000baseTmediaopt全二重mediaopthw-loopback
        メディア1000baseTmediaopt全二重mediaoptフロー制御
        メディアなし

10xxbaseTを見るのは、通常、イーサネットであるという良い兆候です。

ワイヤレスはサポートされているメディアを報告していないようです。

ifconfigのマニュアルページには大量の情報がありますが、私が知らないこの情報にプログラムでアクセスするためのシステムライブラリがいくつかあるかもしれませんが、これで始めることができます。

于 2010-06-16T17:52:18.923 に答える