如何检索客户端计算机的路径运行RemoteApp的特殊文件夹作为文件路径字符串?

时间:2013-09-23 15:04:19

标签: c# remote-access terminal-services

// Set default workspace directory
string initialDirectoryString = @"C:\work\";
// Check if remote session, and get the local drive location
if(System.Windows.Forms.SystemInformation.TerminalServerSession) {
    initialDirectoryString = @"\\tsclient\C\work\";
}

最初当我编写上述代码时,我的印象是我们可以在C:\中创建一个目录来写入,但据我所知,他们访问的唯一位置是My Documents目录。

所以,我知道我可以使用:

检索本地Environment.SpecialFolder
string path = System.Environment.GetFolderPath(Environment.SpecialFolder.Personal);

问题是如何从客户端计算机检索。我考虑过从服务器检索路径并预先\\tsclient\(并从:中删除C:等),但是如果My Documents目录不一样的话在客户端上(例如V:而不是D:),当我尝试写入该位置时,我会得到Access Denied

有没有办法可以指定类似于CMD的字符串,您可以使用%USERPROFILE%/My Documents,但使用tsclient

修改:我发现我可以使用Environment.ExpandEnvironmentalVariables()%USERPROFILE%\My Documents更改为绝对路径。

string MyDocumentsLocation = Environment.ExpandEnvironmentVariables(@"%USERPROFILE%\My Documents");

0 个答案:

没有答案