Verknüpfungen



  • Hallo,

    Ich habe eine Liste erstellt, mit welcher man den Inhaltes des Netzwerkes anzeigen kann.

    In dieser Liste erscheinen auch (ich nenne sie mal...) "Netzwerk-Verknüpfungen", welche zum Beispiel heissen "c auf pc9" und auf die Netzwerkadresse "\\pc9\c" verweisen.

    Hat jemand eine Idee, wie ich aus den Namen der Verknüpfungen die eigentliche Netzwerkadresse heraus bekommen kann???

    Danke!

    Gruss

    BigRed



  • Versuchsmal damit, ich weis aber nicht ob es mit allen Namen funktioiert:

    int     err,x;
    WORD    wVersionRequested;
    WSADATA wsaData;
    hostent *he;
    char	puffer[256];
    char	**aliases;
    char	**addeses;
    
    	wVersionRequested = MAKEWORD( 2, 0 );
    	err =   WSAStartup( wVersionRequested, &wsaData );
    
    	he=[b]gethostbyname ( "pc9" )[/b];
    
    	aliases=he->h_aliases;
    	addeses=he->h_addr_list;
    
    	for(x=0;x<256;x++)
    		{
    		if(!aliases[x])break;
    		printf("\nAlias %i:\t%s",x,aliases[x]);
    		}
    
    	for(x=0;x<256;x++)
    		{
    		if(!addeses[x]){printf(" -> %s",addeses[x-1]+4);break;}
    		printf("\nIP-Addres %i:\t%i.%i.%i.%i",x+1,	addeses[x][0]&0xFF,
    													addeses[x][1]&0xFF,
    													addeses[x][2]&0xFF,
    													addeses[x][3]&0xFF);
    		}
    

    Meine Webseite

    http://members.inode.at/anton.zechner/az/index.html



  • Hallo!

    Danke für die Antwort. Funktioniert lieder nicht. Mein Compiler (Visual C++ 6.0) erkennt die Variable "hostent" nicht.

    Haben Netzwerkpfade wirklich was mit Sockets am Hut? Eigentlich brauche ich ja nur die UNC-Adresse anhand einer Netzwerkverknüpfung...

    Hat jemand eine Idee???

    Danke!



  • Hallo!

    Danke für die Antwort. Funktioniert lieder nicht. Mein Compiler (Visual C++ 6.0) erkennt die Variable "hostent" nicht.

    Haben Netzwerkpfade wirklich was mit Sockets am Hut? Eigentlich brauche ich ja nur die UNC-Adresse anhand einer Netzwerkverknüpfung...

    Hat jemand eine Idee???

    Danke!



  • Hallo,

    Keine Ahnung, warum mein letzer Beitrag 2x gezeigt wurde. Sorry!

    Ich habe jetzt was raus gefunden, und zwar dass ich das Problem nur mit Windows XP habe. In der Registry stehen alle diese "Netzwerkverknüpfungen" (wie ich sie genannt habe) unter:

    HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/WorkgroupCrawler/Shares

    Wenn ich diese Liste durch gehe, kann ich die dazugehörige Verknüpfung bekommen.

    Das Problem ist jetzt nur, dass die Verknüpfung ein Registry-Eintrag ist und der Verknüpfungsname als Parameter drin steht. Somit muss ich all diese Einträge durchgehen, um die Lösung zu bekommen.

    Auf was ich hinaus möchte:
    Hat jemand eine Idee, wie ich alle Registry Einträge von "Shared" durchgehen kann ohne die Name der Einträge zu wissen???

    Danke!

    Gruss

    BigRed


Anmelden zum Antworten