Nat*_*han 1 c# url webbrowser-control username
我有一个HTML文件C:\Users\myusername\AppData\Roaming\myapp\file.html.我通过C#应用程序中的Web浏览器访问该文件,以便从应用程序中进行预览.
但是,当应用程序放到另一台计算机上时,webBrowser1中的地址仍然特定于我的用户名,因此其他人无法访问预览.
有没有办法在我的网络浏览器中将文件作为URL访问,而没有URL中的硬编码用户名?
我尝试过的:
谢谢!
这是我帮助后使用的代码:
string folderPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
string address = Path.Combine(folderPath + @"\myapp\file.html");
webBrowser1.Navigate(address);
Run Code Online (Sandbox Code Playgroud)
如果要获取当前登录用户的名称,则必须读取Environment.UserName属性.
此外,如果您需要访问AppData漫游用户的目录,您可以获得文件夹路径而无需硬编码任何内容(不要忘记,c:\users每个Windows版本和路径上的用户目录并不总是AppData有所不同):
string folderPath = Environment.GetFolderPath(
Environment.SpecialFolder.ApplicationData);
Run Code Online (Sandbox Code Playgroud)
在你的情况下,只需附加文件名:
string url = Path.Combine(folderPath, "file.htm");
Run Code Online (Sandbox Code Playgroud)
注意
如果出于任何原因需要使用环境变量,那么首先要扩展它们:
string path = Environment.ExpandEnvironmentVariables(@"C:\Users\%USERNAME%\");
Run Code Online (Sandbox Code Playgroud)