2011-07-26 22 views
0

Windowsコンピュータシステム上のすべてのネットワーク接続のIPアドレスと接続先のすべてのイーサネットデバイスのIPアドレスを検出するアプリケーションを作成したいと思いますそのシステム。 Windows APIでこれをプログラムで簡単に実行する方法はありますか?Windows APIを使用してネットワークカードとイーサネットデバイスのIPアドレスを検出する

私はC++この質問への答えに相当を探しています:
How do I check for a network connection?
だけでなく、どのように接続されたイーサネットデバイスを列挙します。

私はBeejのネットワーキングガイドを知っていますが、実際に(ゆっくりと)自分の道を進んでいますが、すばやく簡単な方法があればそれは素晴らしいと思いました。あまりにも多くの幸運をかけずにStackOverflow全体を検索しました。

誰かが助言を受けている、または役に立つガイドに私を指すことができるなら、それはすばらしいでしょう!

ありがとうございます!

、-R

答えて

3

GetAdaptersInfo:ローカルコンピュータのアダプタ情報を取得します。

DWORD GetAdaptersInfo(
    __out PIP_ADAPTER_INFO pAdapterInfo, 
    __inout PULONG pOutBufLen 
); 

GetAdaptersInfoのMSDN。

+0

を使用し得るために、私はあなたがここにリンクされ1からGetAdaptersAddresses MSDNの記事にリンクし、そのコードをテストしました。役に立つと思われて、私はもっとそれを探しています。ありがとう! – 8bitcartridge

0

お使いのコンピュータのすべてのIPアドレスは、次のコード

char chHostName[MAX_PATH]; 
if (gethostname(chHostName, sizeof(chHostName)) == SOCKET_ERROR) 
{ 
    return "0.0.0.0"; 
} 
struct addrinfo hints; 
struct addrinfo *result = NULL; 

// Setup the hints address info structure 
// which is passed to the getaddrinfo() function 
ZeroMemory(&hints, sizeof(hints)); 
hints.ai_family = AF_UNSPEC; 
hints.ai_socktype = SOCK_STREAM; 
hints.ai_protocol = IPPROTO_TCP; 

dwRetval = getaddrinfo(chHostName, NULL, &hints, &result); 



for(ptr=result; ptr != NULL ;ptr=ptr->ai_next) 
{ 
//Parse the address 
} 
関連する問題