./当我使用OpenFileDialog时改变目标

Eri*_*ric 1 .net c++ relative-path openfiledialog

我正在使用一个编写器来记录错误

它的设计方式(请不要问为什么)是每次应用程序必须记录消息时打开一个新的编写器.它将所有内容输出到./Logs/[current-date].txt,它通常解析为"c:\ myappfolder\logs [current-date] .txt"

一切正常,但在我使用打开的文件对话框说"C:\ home\myfolder\myfile"之后,编写器会尝试写入"c:\ home\myfolder\logs [current-date] .txt"

我知道这个问题的解决方案,但我只是不明白发生了什么

Mic*_*urr 9

当前目录是一个进程范围的值.

OpenFileDialog是改变当前目录.

如果您正在使用.NET OpenFileDialog类,则可以将RestoreDirectory属性设置true为告诉对话框单独保留当前目录(尽管RestoreDirectory编写文档的方式可能存在一些线程问题,我想这可能会使这仍然不合适)用于记录设施).