TDM Geschrieben 7. November 2008 Geschrieben 7. November 2008 ich habe keine Ahnung wirklich.ich mache so was zum ersten mal deswegen frage ich viel Etwas übernommen würd ich sagen... Grundlagen anschauen. Zitieren
karim-wiesbaden Geschrieben 7. November 2008 Autor Geschrieben 7. November 2008 ich werde es versuchen aber wenn es nicht klappt dann melde mich noch mal danke Zitieren
Klotzkopp Geschrieben 7. November 2008 Geschrieben 7. November 2008 ok kannst du mir bitte dieses feld fuer MAC adresse nenen Kannst du dich bitte einfach mal selbst bemühen, die Dokumentation gründlich zu lesen? PhysicalAddress The Media Access Control (MAC) address for the adapter. For example, on an Ethernet network this member would specify the Ethernet hardware address. Quelle: IP_ADAPTER_ADDRESSES Structure (Windows) Zitieren
karim-wiesbaden Geschrieben 11. November 2008 Autor Geschrieben 11. November 2008 (bearbeitet) es ist ein problem aufgetreten und zwar die Netbios funktion ist nicht fuer Windows CE.Net 4.2 gedacht. das problem bleibt wie kann ich die MAC Adresse eines Web server auslesen mit hilfe eine X funktion. die frage lautet wie lautet diese funktion Bearbeitet 11. November 2008 von karim-wiesbaden Zitieren
Klotzkopp Geschrieben 11. November 2008 Geschrieben 11. November 2008 es ist ein problem aufgetreten und zwar die Netbios funktion ist nicht fuer Windows CE.Net 4.2 gedacht.Na dann hast du ja doppelt Glück. Erstens entwickelst du ja für XP, und zweitens hat die Funktion, die ich dir genannt habe, nichts mit Netbios zu tun. das problem bleibt wie kann ich die MAC Adresse eines Web server auslesen mit hilfe eine X funktion.Wenn das Programm auf demselben Rechner laufen soll wie der Webserver, dann ist es völlig egal, dass das ein Webserver ist. Damit stiftest du nur Verwirrung. die frage lautet wie lautet diese funktionFür CE? GetAdaptersInfo. Zitieren
karim-wiesbaden Geschrieben 11. November 2008 Autor Geschrieben 11. November 2008 ok danke das funktioniert trotzdem nicht auch wenn ich die andere dateinein abgebe wie ;Header Iphlpapi.h Library Iphlpapi.lib und den folgenden code eingebe: CodeGuru: Three ways to get your MAC address. // Fetches the MAC address and prints it static void GetMACaddress(void) { IP_ADAPTER_INFO AdapterInfo[16]; DWORD dwBufLen = sizeof(AdapterInfo); DWORD dwStatus = GetAdaptersInfo( AdapterInfo, &dwBufLen); assert(dwStatus == ERROR_SUCCESS); PIP_ADAPTER_INFO pAdapterInfo = AdapterInfo; do { PrintMACaddress(pAdapterInfo->Address); pAdapterInfo = pAdapterInfo->Next; } while(pAdapterInfo); } zeigt mir mehrer fehlern zum Beispiel: error C2267: 'GetMACaddress': Statische Funktionen mit Blockgültigkeit sind unzulässig error C2601: 'GetMACaddress': Lokale Funktionsdefinitionen sind unzulässig error C3861: "assert": Bezeichner wurde nicht gefunden error C3861: "PrintMACaddress": Bezeichner wurde nicht gefunden. Zitieren
Klotzkopp Geschrieben 11. November 2008 Geschrieben 11. November 2008 error C2267: 'GetMACaddress': Statische Funktionen mit Blockgültigkeit sind unzulässigWo steht denn dieser Code? Etwa innerhalb einer anderen Funktion? Zitieren
karim-wiesbaden Geschrieben 11. November 2008 Autor Geschrieben 11. November 2008 ich verstehe deine frage nicht Zitieren
Klotzkopp Geschrieben 11. November 2008 Geschrieben 11. November 2008 ich verstehe deine frage nicht Die Fehlermeldung lässt darauf schließen, dass die Funktion GetMACaddress, die du da gezeigt hast, innerhalb einer anderen Funktion steht. Das ist nicht erlaubt. Zitieren
karim-wiesbaden Geschrieben 11. November 2008 Autor Geschrieben 11. November 2008 ich weiss es nicht ich habe nur die oben genannte code in einem Case hinzugefügt mehr nicht :: const HtmxProcessor::TAGDEF HtmxProcessor::TAGDEF_TABLE[] = { "MAC1", TAG_MAC1 }, case TAG_MAC1: static void GetMACaddress(void) { IP_ADAPTER_INFO AdapterInfo[16]; DWORD dwBufLen = sizeof(AdapterInfo); DWORD dwStatus = GetAdaptersInfo( AdapterInfo,&dwBufLen); assert(dwStatus == ERROR_SUCCESS); PIP_ADAPTER_INFO pAdapterInfo = AdapterInfo; do { PrintMACaddress(pAdapterInfo->Address); pAdapterInfo = pAdapterInfo->Next; } while(pAdapterInfo); } return true; Zitieren
Klotzkopp Geschrieben 11. November 2008 Geschrieben 11. November 2008 ich habe nur die oben genannte code in einem Case hinzugefügt mehr nicht :: Du hast dort, wo eigentlich ein Funktionsaufruf hingehört, die Funktionsdefinition eingefügt. Zitieren
karim-wiesbaden Geschrieben 11. November 2008 Autor Geschrieben 11. November 2008 und wo soll ich was korigieren Zitieren
karim-wiesbaden Geschrieben 11. November 2008 Autor Geschrieben 11. November 2008 und wo soll ich was korigieren kannst du mir bitte dabei helfen ich werde dir dankbar Zitieren
Klotzkopp Geschrieben 11. November 2008 Geschrieben 11. November 2008 und wo soll ich was korigieren Da, wo jetzt die Definition der Funktion GetMACaddress steht, gehört ein Aufruf hin: GetMACaddress(); Die Definition musst du auf die globale Ebene verschieben, also außerhalb von anderen Funktionen, nicht mitten im Code. Zitieren
karim-wiesbaden Geschrieben 11. November 2008 Autor Geschrieben 11. November 2008 (bearbeitet) wie kann ich diese Aufrufe hinzufügen. und wie kann ich dei Definition auf die globalen Ebene verschieben, wenn es geht in dem Programm was korigieren. denk daran dass ich zum ertsen mal damit beschäftige und muss noch viel kennen . danke im voraus Bearbeitet 11. November 2008 von karim-wiesbaden Zitieren
Klotzkopp Geschrieben 11. November 2008 Geschrieben 11. November 2008 wie kann ich diese Aufrufe hinzufügen.Wie der Aufruf aussieht, habe ich doch geschrieben. Soll ich dir erklären, wie du einen Editor bedienen sollst? und wie kann ich dei Definition auf die globalen Ebene verschieben,Ich weiß nicht, wie ich es noch erklären soll, damit du es verstehst. denk daran dass ich zum ertsen mal damit beschäftige und muss noch viel kennen .Du musst dir vor allem eine Aufgabe suchen, die deinen Fähigkeiten entspricht. Mit dieser bist du IMHO völlig überfordert, und wirst daraus auch nichts lernen. Arbeite bitte ein Anfängertutorial oder -buch durch. Dir scheinen die elementarsten Grundlagen zu fehlen. Zitieren
karim-wiesbaden Geschrieben 13. November 2008 Autor Geschrieben 13. November 2008 (bearbeitet) guten morgen du meinnst damit case TAG_MAC1: static void GetMACaddress() { IP_ADAPTER_INFO AdapterInfo[16]; DWORD dwBufLen = sizeof(AdapterInfo); DWORD dwStatus = GetAdaptersInfo( AdapterInfo, &dwBufLen); assert(dwStatus == ERROR_SUCCESS); PIP_ADAPTER_INFO pAdapterInfo = AdapterInfo; do { PrintMACaddress(); pAdapterInfo = pAdapterInfo->Next; } while(pAdapterInfo); } return true; ich kann alle annehmen was du sagst ich mach das zum ersten mal und dauer es bis ich die sachen kapiert habe Bearbeitet 13. November 2008 von karim-wiesbaden Zitieren
Klotzkopp Geschrieben 13. November 2008 Geschrieben 13. November 2008 Du hast: void foo() { // bla static void GetMACaddress() { // blubb } // blabla }[/code] Du brauchst: [code] static void GetMACaddress() { // blubb } void foo() { // bla GetMACaddress(); // blabla } Zitieren
karim-wiesbaden Geschrieben 13. November 2008 Autor Geschrieben 13. November 2008 tue mir eingefallen .du hast das code von mir.kannst du mir bitte das code in mein programm hinzufuegen. und ich frage auch ,ob ich auf den case verzicht. danke danke danke Zitieren
Klotzkopp Geschrieben 13. November 2008 Geschrieben 13. November 2008 kannst du mir bitte das code in mein programm hinzufuegen.Nein, kann ich nicht. Du hast den Code der äußeren Funktion (die ich in meinem Beispiel "foo" genannt habe) nicht vollständig gezeigt. und ich frage auch ,ob ich auf den case verzicht. Das kann dir niemand beantworten, weil niemand außer dem Autor des Codes wissen kann, welchen Zweck diese case-Anweisung hat. Zitieren
karim-wiesbaden Geschrieben 13. November 2008 Autor Geschrieben 13. November 2008 (bearbeitet) Mit IP adresse hat es gut funktioniert mit Anwendung der case Anweissung. #include "Winsock2.h" const HtmxProcessor::TAGDEF HtmxProcessor::TAGDEF_TABLE[] = { "IP1", TAG_IP1 }, case TAG_IP1: { WORD wVersionRequested; WSADATA wsaData; char name[255]; PHOSTENT hostinfo; wVersionRequested = MAKEWORD( 2, 0 ); if ( WSAStartup( wVersionRequested, &wsaData ) == 0 ) { if( gethostname ( name, sizeof(name)) == 0) { if((hostinfo = gethostbyname(name)) != NULL) { char* ip = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list); strncpy(procTag, ip, sizeProcTag); return true; } } WSACleanup( ); } strncpy(procTag, "", sizeProcTag); } return true; default: return false; Bearbeitet 13. November 2008 von karim-wiesbaden Zitieren
karim-wiesbaden Geschrieben 14. November 2008 Autor Geschrieben 14. November 2008 Mit IP adresse hat es gut funktioniert mit Anwendung der case Anweissung. #include "Winsock2.h" const HtmxProcessor::TAGDEF HtmxProcessor::TAGDEF_TABLE[] = { "IP1", TAG_IP1 }, case TAG_IP1: { WORD wVersionRequested; WSADATA wsaData; char name[255]; PHOSTENT hostinfo; wVersionRequested = MAKEWORD( 2, 0 ); if ( WSAStartup( wVersionRequested, &wsaData ) == 0 ) { if( gethostname ( name, sizeof(name)) == 0) { if((hostinfo = gethostbyname(name)) != NULL) { char* ip = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list); strncpy(procTag, ip, sizeProcTag); return true; } } WSACleanup( ); } strncpy(procTag, "", sizeProcTag); } return true; default: return false; Zitieren
Klotzkopp Geschrieben 14. November 2008 Geschrieben 14. November 2008 Mit IP adresse hat es gut funktioniert mit Anwendung der case Anweissung.Ja, das gleiche hast du gestern schon geschrieben. Bitte kein Threadpushing, siehe Boardregeln. Mir ist nicht klar, was du damit sagen willst. Zitieren
karim-wiesbaden Geschrieben 14. November 2008 Autor Geschrieben 14. November 2008 es geht immer noch um auslesen ein MAC Aderesse von ei externen Board (WebServer) Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.