上下文:
我做了什么:
我执行了subst cmd以生成F:\驱动器(来自C:\)
添加了目录" eventlogging"
问题:
我尝试了什么:
其他信息:
答案 0 :(得分:4)
如果您使用提升的提示映射了驱动器,则在非管理员帐户下它将不可见。
您可以将您的程序作为管理员运行,也可以使用管理员和非管理员帐户都可以使用的其他方法。这涉及将以下密钥添加到注册表中(将以下行复制/粘贴到"temp.reg"
文件中,然后双击它):
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices]
"F:"="\\??\\C:"
其他好处是这种方法在重新启动后仍然存在。
注意:如果您打算使用regedit.exe手动添加密钥,请不要转义反斜杠(即在上面的表达式中用\\
替换每个\
),并且在这种情况下也没有引号(您可以在String Value
键中添加新的DOS Devices
,将名称设置为F:
,将数据设置为\??\C:
)< / p>
您还需要重新启动系统才能使其生效。
另外:我知道您写过代码无法更改,但应该强调:使用配置文件而不是硬编码路径显然是任何应用程序的正确方法(甚至更简单,放置日志在当前用户AppData\Local
文件夹内的某处。使用默认设置f:\eventlogging
重建此公共基础不会破坏其他应用程序,但会允许您具有此灵活性。对于代码中的所有其他硬编码设置和幻数,也是如此。所有日志记录框架都使用配置文件来配置其输出。