我正在開發x86應用程序以將自建的「編程語言」轉換爲彙編程序。在某些時候,我需要獲得MASM32的路徑。我已經閱讀了幾個相關的主題,但他們沒有幫助我,也許是因爲我是C#的新手。 MASM32位於此處:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MASM32
。 當我運行我的程序時,我總是收到「找不到Masm32」消息。 我該怎麼辦?提前致謝!爲什麼OpenSubKey()在我的Windows 10 64位系統上返回null?
WindowsIdentity ident = WindowsIdentity.GetCurrent();
WindowsPrincipal myPrincipal = new WindowsPrincipal(ident);
if (!myPrincipal.IsInRole(WindowsBuiltInRole.Administrator))
{
string user = Environment.UserDomainName + "\\" + Environment.UserName;
RegistrySecurity rs = new RegistrySecurity();
rs.AddAccessRule(new RegistryAccessRule(user,
RegistryRights.ReadKey | RegistryRights.Delete | RegistryRights.CreateSubKey | RegistryRights.WriteKey | RegistryRights.ChangePermissions | RegistryRights.SetValue,
InheritanceFlags.None,
PropagationFlags.None,
AccessControlType.Deny));
}
try
{
RegistryKey baseKey = RegistryKey.OpenBaseKey(
RegistryHive.LocalMachine,
RegistryView.Registry64);
RegistryKey key = baseKey.OpenSubKey(@"SOFTWARE\Wow6432Node\");
PathMasm32 = baseKey.GetValue("MASM32").ToString();
}
catch {
erTxt = "Masm32 is not found";
}
'「MASM32沒有找到」'是*你的*錯誤信息。它會在出現任何問題時返回。 – Plutonix
不要在沒有異常的情況下使用'catch',否則你會拋棄所有的問題細節。 –
什麼是實際例外? –