c ++ - Indstilling af etiketten til en Windows netværkskortlægning

Indlæg af Hanne Mølgaard Plasc

Problem



Er det muligt at give en netværksdrevskortlægning (som oprettet med WNetAddConnection-funktionerne eller 'Map Network Drive ...' GUI) en anden label end < Target Name > (< Target Path >) (< Drive Letter > :) 'en?


Jeg forsøgte at give SetVolumeLabel en go, men det svigter altid, og jeg kan ikke se noget i WNet API'erne for at angive displayetiketten.

Bedste reference


Dette er ikke en 100\% løsning, men det er mere et svar end en kommentar ...


Hvis du omdøber et kortlagt netværksdrev, skal GUI'en (ved at højreklikke på den og gå til 'Omdøb') tilføjes en værdi til registreringsdatabasen. Læsning runde på forskellige steder (især denne) ser ud som om Windows sporadisk kan slette denne værdi af sig selv, så det kan ikke være en permanent løsning ... [3]


Jeg har lige gjort det manuelt via regedit, og det fungerede i GUI'en, så jeg ser ingen grund til, at det ikke bør fungere programmatisk


Tilføj en strengværdi kaldet \_LabelFromReg med en værdi af hvad du vil have, at etiketten skal være til registreringsdatabasenøglen


HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerMountPoints2##<server-name>#<share-name>


Denne nøgle skal allerede eksistere, hvis du allerede har oprettet delingen.


Tilsyneladende (se linket ovenfor) skal du gøre den nøgle skrivebeskyttet for at forhindre, at OS ændrer det tilbage ved vilje. Jeg ved ikke, hvordan du ville gøre det programmatisk, men jeg er sikker på, at det kan gøres.


Jeg ved, at der er store huller i dette svar, men måske er det et poke i den rigtige retning?