Как открыть все файлы * .xml на моем компьютере с помощью моей программы на C #? - PullRequest
0 голосов
/ 20 апреля 2011

я сделал C # программу, которая открывает и показывает xml файлы.

как сделать (при установке моей программы), что все * .xml файлы

, которые на моем компьютере, будут открываться с моей программой?

заранее спасибо

Ответы [ 2 ]

2 голосов
/ 21 апреля 2011

Как подробно описано в этом вопросе , вам необходимо изменить значение ключа реестра HKEY_CLASSES_ROOT\xmlfile\shell\open\command на компьютере пользователя.

Это может быть достигнуто программно с помощью кода, такого как (непроверенный):

// Get App Executable path
string appPath = System.Reflection.Assembly.GetExecutingAssembly().Location;

RegistryKey rkShellOpen = Registry.ClassesRoot.OpenSubKey(@"xmlfile\shell\open", true);
rkShellOpen.SetValue("command", appPath);
0 голосов
/ 21 апреля 2011

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

Вы могли бы сделать что-то похожее на это ...

   void RecursiveDirectorySearch(string sDir, string patternToMatch) 
        {
          // Where sDir would be the drive you want to search, I.E. "C:\"
          // Where patternToMatch has the extension, I.E. ".xml"
            try 
            {
                foreach (string d in Directory.GetDirectories(sDir)) 
                {
                    foreach (string f in Directory.GetFiles(d, txtFile.Text)) 
                    {
                       if(f.Contains(patternToMatch)
                        {
                          lstFilesFound.Items.Add(f);
                        }
                    }
                    DirSearch(d);
                }
            }
            catch (System.Exception excpt) 
            {
                Console.WriteLine(excpt.Message);
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...