Tjena Har lyckats hitta svaret på en av de två frågorna:Short Path till Long Path
Har ett liter problem som man kan lösa på två sätt. Har nämligen lagt till en register nyckel så att man får upp en länk till mitt program när man högerklickar på filer. Denna ligger i local_machin-->software-->classes-->*-->shell-->Add to mittprog-->command
värdet på nyckeln är C:\sökvägen till mitt program\mttprog.exe -add "%1"
Problemet är att filerna kommer in som short path... hur får jag dem till long paths
Filerna ligger inte på den lokala datorn utan ligger på nätverks drivar.. inte säkert att de är inmappade. Så lösningen borde alltså bestå i att:
1, Ange rätt registernyckel så att det inte blir en short path
2, Transformera en short path till en long path o koden...
nån som har en lösning på nåt av ovanstående?Sv: Short Path till Long Path
<code>
private string FromShort(string spath)
{
string ret="";
if(spath.StartsWith("\\\\"))//network
{
string[] elm = spath.Split(new char[] { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar} );
if(elm.Length>2)
{
string lpath = "\\\\"+elm[2] + Path.DirectorySeparatorChar + elm[3];
for(int i = 4; i < elm.Length; i++ )
{
if(elm[i]!="")
{
string[] npath = Directory.GetFileSystemEntries(lpath, elm[i] );
lpath = npath[0];
}
}
ret=lpath;
}
}
else
{
string[] elm = spath.Split(new char[] { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar} );
string lpath = elm[0] + Path.DirectorySeparatorChar;
for(int i = 1; i < elm.Length; i++ )
{
if(elm[i]!="")
{
string[] npath = Directory.GetFileSystemEntries( lpath, elm[i] );
lpath = npath[0];
}
}
ret=lpath;
}
return ret;
}
</code>