Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#注册表导入_C#_Import_Permissions_Registry - Fatal编程技术网

C#注册表导入

C#注册表导入,c#,import,permissions,registry,C#,Import,Permissions,Registry,我正在尝试导入以前通过C#保存的注册表值。 每次导入时都会运行Regedit,但值不会更改。当我以管理员身份运行与否时,唯一的区别是UAC在未提升时提示regedit。Regedit似乎仍在运行,但它似乎没有读取和导入.reg文件 Import: { if (openFileDialog1.ShowDialog() == DialogResult.OK) { string FullPath =

我正在尝试导入以前通过C#保存的注册表值。 每次导入时都会运行Regedit,但值不会更改。当我以管理员身份运行与否时,唯一的区别是UAC在未提升时提示regedit。Regedit似乎仍在运行,但它似乎没有读取和导入.reg文件

  Import:
        {

            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {

                string FullPath = openFileDialog1.FileName;

                MessageBox.Show(Convert.ToString(FullPath));

                Process regeditProcess = Process.Start("regedit.exe", "/s" + FullPath);
                regeditProcess.WaitForExit();
            }



            return;
        }

如果
FullPath
中有空格,则可能会出现问题。 而不是:

Process regeditProcess = Process.Start("regedit.exe", "/s" + FullPath);
试试这个:

Process regeditProcess = Process.Start("regedit.exe", "/s \"" + FullPath + "\"");

如果
FullPath
中有空格,则可能会出现问题。 而不是:

Process regeditProcess = Process.Start("regedit.exe", "/s" + FullPath);
试试这个:

Process regeditProcess = Process.Start("regedit.exe", "/s \"" + FullPath + "\"");

检查您的完整路径。我相信在/s之后也应该有一个空格:“/s”检查您的完整路径。我相信在/s后面也应该有一个空格:“/s”不能以低代表率投票,但这就是答案。谢谢不能以低支持率投票,但这是答案。谢谢