我使用的环境听起来可能有些混乱,所以我将尽力对其进行解释。 我正在用Electron做一些实验性的事情。现在,我有一个使用C#编写的简单.dll,它使用.NET Standard 2.0作为基础。从Electron的角度来看,我使用的是electronic-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中检查了特权。他们看起来都很好。对于这样的 easy 代码,我有点困难。一点帮助将是惊人的,谢谢!