Я знаю, что это старая ветка, но я не думаю, что вы должны возиться с таким реестром. Особенно после того, как ClickOnce и другие мастера развертывания внедрили встроенную возможность для ассоциации файлов. Вы можете найти это в Solution Explorer -> Свойства проекта -> вкладка «Опубликовать» -> кнопка «Параметры» -> вкладка «Связи файлов» . Здесь у вас есть возможность зарегистрировать тип файла, используя пользовательский значок, описание файла и идентификацию программы.
Если вы хотите сделать шаг вперед, вы можете сделать это и с приложениями с одним экземпляром. Я сделал это в учебном проекте на моем сайте:
DrawIt
В проекте я настраиваю TCP-прослушиватель в первом экземпляре, а во втором, третьем, ... экземпляре подключаю TCP-клиент и отправляю ActivationArguments первому.
Наиболее важные блоки кода находятся в файле Program.cs и void Start_server в Hoofdscherm.cs .