【问题标题】:C# Folder browse Dialog not showing Network shared folders win10C#文件夹浏览对话框不显示网络共享文件夹win10
【发布时间】:2018-06-18 08:38:23
【问题描述】:

我创建了一个使用 .NET 4.6.1 编译的应用程序(Windows)并使用了 FolderBrowserDialog 对象。当按下按钮时,我执行以下代码:

FolderBrowserDialog folderbrowserdialog = new FolderBrowserDialog();

    folderbrowserdialog.Description = "Custom Description";

 if (folderbrowserdialog.ShowDialog() == DialogResult.OK)
 {
        filePath = folderbrowserdialog.SelectedPath ;

 }

我从文件夹浏览器对话框中得到什么(如照片)

但是,文件夹浏览器对话框没有显示网络共享文件夹(我的应用程序的用途),否则只显示 pc 文件夹。

但我想得到的是网络共享文件夹,我也可以从 Windows 10 访问,比如这里的照片:

要标记的注释: 我无法使用打开文件对话框,因为我需要文件夹位置。 我通过添加清单来设计像管理员一样打开应用程序,因此该应用程序始终像管理员一样启动。 该应用程序应与 Windows 10,7 兼容 请注意,我知道我可以尝试设置此注册表选项(在 Win10 中可能会损坏):

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System
    EnableLinkedConnections=1

但每台客户 PC 都添加此注册表没有意义

那么有什么提示可以在 FolderBrowserDialog 中显示网络共享文件夹吗?

【问题讨论】:

  • 映射的驱动器是用户特定的,所以当应用程序以管理员(不同的用户)运行时,它看不到映射的网络驱动器。
  • @Equalsk 管理员用户与登录的用户相同:) 你有什么建议让用户(管理员)看到吗?
  • @Equalsk 我刚刚阅读了这篇文章,但是为每个客户添加 regedit 密钥对我来说没有任何意义 :( 无论如何谢谢 :)

标签: c# .net windows winforms


【解决方案1】:

最后,在阅读了许多主题后,我发现唯一的解决方案是以编程方式添加注册表项,所以这里如何添加具有 dword 值的特定 C# 注册表子项:

我写了一个所有人都可以使用的方法 只是为了让您知道使用后您必须在使用后重新启动设备,它才能工作;)

public void ConfigureWindowsRegistry()
{
    RegistryKey localMachine = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, RegistryView.Registry64); //here you specify where exactly you want your entry

    var reg = localMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", true);
    if (reg == null)
    {
        reg = localMachine.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", true);
    }

    if (reg.GetValue("EnableLinkedConnections") == null)
    {
        reg.SetValue("EnableLinkedConnections", "1", RegistryValueKind.DWord);
        MessageBox.Show(
            "Your configuration is now created,you have to restart your device to let app work perfektly");
    }
}

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。问题的原因:我以管理员身份使用。映射的驱动器与用户相关,所以我尝试以普通用户的身份使用,我可以看到映射的驱动器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-11
      相关资源
      最近更新 更多