Obțineți calea relativă a RegistryKey

Am un obiect System.Win32.RegistryKey care indică, de exemplu, "HKCU \ Software \ Test". Proprietatea .Name este populate cu calea absolută. Există o modalitate de a obține doar numele curent (relativ) al cheii?

În exemplul de mai sus, caut doar partea "Test" a căii. Caut pentru equivelent Registry pentru a System.IO.Path.GetDirectoryName fără a fi nevoie pentru a analiza manual calea.

0

3 răspunsuri

Puteți să apelați doar System.IO.Path.GetDirectoryName .

Funcțiile Path. * (cu excepția GetFullPath() ) sunt funcții pur manipulare șir și funcționează bine chiar și cu alte căi de sistem.

0
adăugat
System.IO.Path.GetDirectoryName va arunca un ArgumentException când cheia conține orice caracter care nu poate exista. I.E. | (țeavă). Utilizați în schimb codul key.Name.Substring (0, key.Name.LastIndexOf ('\\')) .
adăugat autor modiX, sursa

Puteți folosi pur și simplu System.IO.Path.GetDirectoryName care funcționează foarte bine cu căile de registru.

0
adăugat

Întrebarea cere valoarea relativă (doar Test) nu calea absolută completă. Metoda GetDirectoryName returnează calea absolută. Metoda pe care doriți să o utilizați este:

System.IO.Path.GetFileNameWithoutExtension(subkey.Name);

See this link

0
adăugat