Моя программа меняет текущий каталог, когда я дважды щелкаю по созданному файлу - PullRequest
0 голосов
/ 12 мая 2019

У меня есть программа, которая создает файл .hmq, в котором хранится JSON. Когда приложение запускается в первый раз, оно предлагает пользователю выбрать место для сохранения файлов, но когда файл открывается, моя программа запроситпуть сохранения снова.

Я записываю путь сохранения в файл и проверяю, существует ли он, если он это сделает, он не будет запрашивать у пользователя путь сохранения, насколько я могу судить, так как работающийкаталог изменен, файл открыт.

Я собирался попытаться изменить текущий каталог, но посмотреть на этот я не смогу, потому что моя программа хранится в файлах программы.каталог, который требует прав администратора.Я добавил проверку, чтобы увидеть, было ли приложение открыто с файлом, но при сохранении файла происходит сбой, поскольку каталог сохранения хранится в файлах программы и не может найти его в локальном рабочем каталоге

    public MainWindow()
    {
        InitializeComponent();

        string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;

        if (!cl.ViewingData.HasPath) // L
        {


            if (!File.Exists("BaseDirFile.txt"))
            {
                MessageBox.Show("To load a saved file sheet just open it with this program, or navigate to it from the bottom of the setup page", "ReadMe");
                MessageBox.Show("Now set where to save the setup sheets", "ReadMe");

                CommonOpenFileDialog dialog = new CommonOpenFileDialog();
                dialog.InitialDirectory = "C:\\Users\\" + userName + "\\Documents";
                dialog.IsFolderPicker = true;
                dialog.Title = "Pick the directory to store the saved data sheets";

                if (dialog.ShowDialog() == CommonFileDialogResult.Ok)
                {
                    File.Create("BaseDirFile.txt").Close();

                    using (StreamWriter sw = new StreamWriter("BaseDirFile.txt"))
                    {
                        sw.WriteLine(dialog.FileName);
                    }
                }
                else
                {
                    Close();
                }
            }
        }

        frame1.Navigate(new Pages.Setup_Pages.SetupPage.SetupPage());
    }
}

public partial class App
{
    void Application_Start(object sender, StartupEventArgs e)
    {

        if (e.Args.Length > 0)
        {
            cl.ViewingData.HasPath = true;
            cl.ViewingData.Path = e.Args[0];
        }


    }
}`

Как мне сохранить текущий каталог

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...