之前做项目的时候,遇到一个情况,先映射了别人电脑上的共享盘,然后我的程序以管理员方式运行,调用 打开文件的时候,竟然在驱动器列表中没有映射的网络盘。
后面找了很多方法,也测试了一下WIN 10自带的记事本,将记事本以管理员身份运行,也找不到。
最后才发现是WIN 10的网络连接注册表有设置不对。
后面找了很多办,才搞定。下面将解决办法贴 出来供大家参考,欢迎大家提意见。
在程序的运行之前,执行一次如下代码即可。
public class CheckUAC
{
public static void CheckUACReg()
{
try
{
RegistryKey key = Registry.LocalMachine;
RegistryKey system = key.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System", true);
if (system == null)
system = key.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System");
//======创建后读取数据,不存在或值不对则重新写32位DWORD值
object obj = system.GetValue("EnableLinkedConnections");
if (obj == null || (int) obj != 1)
{
//MessageBox.Show(obj == null ? "为空" : obj.ToString());
system.SetValue("EnableLinkedConnections", Convert.ToInt32(1), RegistryValueKind.DWord);
}
}
catch(Exception err)
{
Log4netUtil.WriteError(err.ToString());
}
}
}