Окружающая среда, которую я использую, может показаться немного запутанной, поэтому я постараюсь объяснить это в лучшем случае.
Я делаю экспериментальные вещи с Электроном. Прямо сейчас у меня есть простой .dll, написанный на C # с использованием .NET Standard 2.0 в качестве основы. Со стороны Electron, я использую Electron-Edge-Js, который, я думаю, прекрасно работает, потому что я могу общаться с ними обоими.
Итак, основной процесс выглядит так,
Я строю свой код C #, чтобы получить мои .dll (я также добавляю ссылки DLL). Поместив их в одну папку с проектом Electron. Начинаем проект, чтобы посмотреть, как они это сделали.
Проблема заключается в коде .dll. Я использую следующий простой код,
public string RegisterUser(string username, string userkey) {
try {
RegistryKey key;
if (Microsoft.Win32.Registry.CurrentUser == null) return "Current user is null";
key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Test\TestFunctions");
if (key == null) return "Key is null";
key.SetValue("uid", username);
key.SetValue("upsw", userkey);
key.Close();
return "Done";
} catch (Exception e) {
return e.ToString();
}
}
Однако всякий раз, когда я вызываю этот метод, он всегда возвращает «Текущий пользователь нулевой», несмотря ни на что. Я попытался собрать свой .exe и запустить его от имени администратора. Я также проверил привилегии в Regedit. Все они кажутся в порядке. У меня трудное время для такого простого кода. Небольшая помощь была бы удивительной, спасибо!