Avatar billede simonkofod Nybegynder
15. november 2001 - 14:27 Der er 2 kommentarer og
1 løsning

Computernavn i MFC?

Jeg er i gang med at lave et SDI program, og skal herunder benytte computernavnet, til noget CAsyncSocket. Hvordan får jeg fat i det?
Avatar billede jpk Nybegynder
15. november 2001 - 14:33 #1
Her er et lille program der viser hvordan du finder lokal ip & navn

#include <iostream.h>
#include <winsock2.h>

int doit(int, char**)
{
    char ac[80];
    if (gethostname(ac, sizeof(ac)) == SOCKET_ERROR)
    {
        cerr << \"Error \" << WSAGetLastError() <<
                \" when getting local host name.\" << endl;
        return 1;
    }
    cout << \"Host name is \" << ac << \".\" << endl;

    struct hostent* phe = gethostbyname(ac);
    if (phe == 0) {
        cerr << \"Yow!  Bad host lookup.\" << endl;
        return 1;
    }
   
    for (int i = 0; phe->h_addr_list[i] != 0; ++i) {
        struct in_addr addr;
        memcpy(&addr, phe->h_addr_list[i], sizeof(struct in_addr));
        cout << \"Address \" << i << \": \" << inet_ntoa(addr) << endl;
    }
   
    return 0;
}


int main()
{
    int argc;
    char** argv;
    WSAData wsaData;
    if (WSAStartup(MAKEWORD(1, 1), &wsaData) != 0)
    {
        return 255;
    }

    int retval = doit(argc, argv);

    WSACleanup();
    return retval;
}

Avatar billede borrisholt Novice
15. november 2001 - 14:36 #2
Ellers kan du jo bare bruge ::GetComputerName ..

Jens B
Avatar billede simonkofod Nybegynder
15. november 2001 - 14:46 #3
Meget imponerende jpk. Jeg burde jo nok selv have kunnet finde ud af det :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester