karim-wiesbaden Geschrieben 18. November 2008 Geschrieben 18. November 2008 Hallo, bin ich der Anfänger, bei der Netzprogrammierung und muss eine Weise finden, die IP address und MacAdresse von Web Server(externen computer) zu zeigen . Ich betrachtete Lösung des Erhaltens MAC und des subnet mask der Maschine und führe einige Spitzenbetriebe durch. Ich habe bereits den Code gefunden, um das MAC address des lokalen Rechners zu erhalten.mit Anwendung der funktion GetAdapterInfo case TAG_MAC1: { IP_ADAPTER_INFO AdapterInfo[16]; DWORD dwBufLen = sizeof(AdapterInfo); DWORD dwStatus = GetAdaptersInfo( AdapterInfo, &dwBufLen); ASSERT(dwStatus == ERROR_SUCCESS); PIP_ADAPTER_INFO pAdapterInfo = AdapterInfo; char addrbuf[64]; sprintf(addrbuf, "%X:%X:%X:%X:%X:%X:%X:%X" pAdapterInfo->Address[0], pAdapterInfo->Address[1], pAdapterInfo->Address[2], pAdapterInfo->Address[3], pAdapterInfo->Address[4], pAdapterInfo->Address[5], pAdapterInfo->Address[6], pAdapterInfo->Address[7]); strncpy(procTag, addrbuf, sizeProcTag); } return true aber haben Sie noch keine Idee, wie man ein subnet mask erhält. Ich würde für alle mögliche Vorschläge dankbar sein
TDM Geschrieben 18. November 2008 Geschrieben 18. November 2008 typedef struct _IP_ADAPTER_INFO { struct _IP_ADAPTER_INFO *Next; DWORD ComboIndex; char AdapterName[MAX_ADAPTER_NAME_LENGTH + 4]; char Description[MAX_ADAPTER_DESCRIPTION_LENGTH + 4]; UINT AddressLength; BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH]; DWORD Index; UINT Type; UINT DhcpEnabled; PIP_ADDR_STRING CurrentIpAddress; IP_ADDR_STRING IpAddressList; IP_ADDR_STRING GatewayList; IP_ADDR_STRING DhcpServer; BOOL HaveWins; IP_ADDR_STRING PrimaryWinsServer; IP_ADDR_STRING SecondaryWinsServer; time_t LeaseObtained; time_t LeaseExpires; } IP_ADAPTER_INFO, *PIP_ADAPTER_INFO; typedef struct _IP_ADDR_STRING { struct _IP_ADDR_STRING *Next; IP_ADDRESS_STRING IpAddress; [COLOR="Red"]IP_MASK_STRING IpMask;[/COLOR] DWORD Context; } IP_ADDR_STRING, *PIP_ADDR_STRING; IpMask - A value that specifies a structure type with a single member, String. The String member is a char array of size 16. This array holds the IPv4 subnet mask in dotted decimal notation.
karim-wiesbaden Geschrieben 18. November 2008 Autor Geschrieben 18. November 2008 wie heisst diese funkition
TDM Geschrieben 18. November 2008 Geschrieben 18. November 2008 Nix Funktion, (public) Member. Ich bin immernoch dafür, dass du zu erst Grundlagen erarbeitest.
Klotzkopp Geschrieben 18. November 2008 Geschrieben 18. November 2008 wie heisst diese funkition Die Funktion ist dieselbe, die du bereits für die MAC-Adresse benutzt.
karim-wiesbaden Geschrieben 18. November 2008 Autor Geschrieben 18. November 2008 die GetAdapterInfo mit den gleichen Varianten Iphlpapi.h Iphlpapi.lib wenn ja ob ich das noch deklarieren muss oder nicht
Klotzkopp Geschrieben 18. November 2008 Geschrieben 18. November 2008 Ich verstehe dich nicht. Soll das eine Frage sein?
karim-wiesbaden Geschrieben 18. November 2008 Autor Geschrieben 18. November 2008 du meinnst die GetAdapterInfo mit den gleichen Varianten Iphlpapi.h Iphlpapi.lib die frage:soll ich Header-und Library Datein noch mal deklerieren oder einmal reicht
TDM Geschrieben 18. November 2008 Geschrieben 18. November 2008 dein Code: IP_ADAPTER_INFO AdapterInfo[16]; DWORD dwBufLen = sizeof(AdapterInfo); DWORD dwStatus = GetAdaptersInfo( AdapterInfo, &dwBufLen); ASSERT(dwStatus == ERROR_SUCCESS); PIP_ADAPTER_INFO [B]pAdapterInfo[/B] = AdapterInfo; dann: Aus pAdapterInfo einfach den Wert rausholen. :rolleyes::rolleyes:
karim-wiesbaden Geschrieben 18. November 2008 Autor Geschrieben 18. November 2008 (bearbeitet) das ist aber das gleiche was ich oben geschrieben habe, bein Aufruf der MAC. soll das so heissen #include"Iphlpapi.h" case { IP_ADAPTER_INFO AdapterInfo[16]; DWORD dwBufLen = sizeof(AdapterInfo); DWORD dwStatus = GetAdaptersInfo( AdapterInfo, &dwBufLen); ASSERT(dwStatus == ERROR_SUCCESS); PIP_ADAPTER_INFO pAdapterInfo = AdapterInfo } return true; Bearbeitet 18. November 2008 von karim-wiesbaden
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden