Как связать расширение файла с моей программой на C#?
Я сделал игру судоку, которая сохраняет игру в файл". sudoku", я хочу, чтобы все файлы". sudoku " открывались с помощью моей программы и показывали значок моей программы.
Что я уже пробовал:
c# - ассоциировать расширение файла с приложением-Stack Overflow[^]
Mehdi Gholam
..- а в чем проблема?
john1990_1
код не работает для меня, может быть, в:
Текущий пользователь.DeleteSubKey ("UserChoice", false);
Я должен заменить "UserChoice" чем-то другим?
Mehdi Gholam
Попробуйте работать от имени администратора.
john1990_1
смотреть ниже
Richard MacCutchan
Поскольку у вас есть ссылка на ответ StackOverflow, именно здесь можно задать этот вопрос.
john1990_1
файлы". sudoku " получили свой значок как моя программа и теперь открываются с моей программой после вызова метода в Main в начале Main, но программа не открывается, даже если я запускаю ее как администратор после публикации и установки, программа просто не появляется.
Когда я прокомментировал строку, которая запускает метод, опубликовал ее и установил, окно программы открывается, и нет никаких проблем, поэтому вызов этого метода отключает открытие основной формы, даже когда я щелкаю правой кнопкой мыши и выбираю Запуск от имени администратора.
Richard MacCutchan
Извините, но я понятия не имею, что означают эти два предложения.
john1990_1
когда пользователь запускает мою программу sudoku в первый раз, я вызываю метод SetAssociation, он работает, файлы". sudoku " теперь имеют значок моей программы и запускаются как и в моей программе, когда я дважды щелкаю по ним, но основные окна, которые вызываются в Main после SetAssociation:
Приложение.Запустить(sudoku_Form = новый Sudoku_FORM(аргументы));
не открывается, это как если бы программа вышла во время или после SetAssociation.
Я запускаю программу, щелкнув правой кнопкой мыши и выбрав пункт "Запуск от имени администратора".
когда я комментирую строку, которая вызывает SetAssociation и publish (make an installer), устанавливаю ее и запускаю, появляется окно, и программа работает.
Richard MacCutchan
Если вы хотите установить ассоциации при первом запуске программы, то она должна работать с правами администратора. Точно так же, как и большинство самоустановщиков.
john1990_1
да, ассоциация была установлена, программа успешно создает ассоциацию при первом запуске, но главное окно не открывается после этого, когда я звоню после этого:
void Main(string[] args)
{
SetAssocation (....);/ / это работает хорошо
//программы в социальных сетях особенно легко приехать сюда
Приложение.Run (sudoku_Form = new Sudoku_FORM(args));/ / это вообще не работает
}
окно моей программы не открывается, задается только ассоциация файлов.