public static string GetMachineId() { string result = ""; try { // Need special routine here as MachineGuid does not exist in the wow6432 path result = RegistryWOW6432.GetRegKey64(RegHive.HKEY_LOCAL_MACHINE, CryptoRoot, "MachineGuid"); } catch (Exception ex) { Debug.WriteLine(ex.Message); result = "Exception " + ex.Message; } return(result); }
private string GetClick2RunProductIds() { string result = ""; try { // Need special routine here as MachineGuid does not exist in the wow6432 path result = RegistryWOW6432.GetRegKey64(RegHive.HKEY_LOCAL_MACHINE, Click2RunConfiguration, "ProductReleaseIds"); } catch (Exception ex) { Debug.WriteLine(ex.Message); result = "Exception " + ex.Message; } return(result); }
public SystemHelper() { WordVersion = -1; #region Get Machine Guid try { // Need special routine here as MachineGuid does not exist in the wow6432 path MachineId = RegistryWOW6432.GetRegKey64(RegHive.HKEY_LOCAL_MACHINE, CryptoRoot, "MachineGuid"); } catch (Exception ex) { Debug.WriteLine(ex.Message); MachineId = "Exception " + ex.Message; } #endregion Get Machine Guid #region Get OS Version // The current code returns 6.2.* for Windows 8.1 and Windows 10 on some systems // https://msdn.microsoft.com/en-gb/library/windows/desktop/ms724832(v=vs.85).aspx // https://msdn.microsoft.com/en-gb/library/windows/desktop/dn481241(v=vs.85).aspx // However as we do not NEED the exact version number, // I am not going to implement the above as they are too risky try { OperatingSystem operatingSystem = Environment.OSVersion; string ProductName = HKLM_GetString(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion", "ProductName"); string CsdVersion = HKLM_GetString(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion", "CSDVersion"); if (!string.IsNullOrEmpty(ProductName)) { StringBuilder sb = new StringBuilder(); if (!ProductName.StartsWith("Microsoft")) { sb.Append("Microsoft "); } sb.Append(ProductName); if (!string.IsNullOrEmpty(CsdVersion)) { sb.AppendLine($" {CsdVersion}"); } else { if (!string.IsNullOrEmpty(operatingSystem.ServicePack)) { sb.Append($" {operatingSystem.ServicePack}"); } } sb.Append($" {OsBits}"); sb.Append($" [{operatingSystem.Version}]"); sb.Append($" {CultureInfo.CurrentCulture.Name}"); SystemOs = sb.ToString().Replace(Environment.NewLine, "").Replace("Service Pack ", "SP"); } } catch (Exception ex) { Debug.WriteLine(ex.Message); SystemOs = "Exception " + ex.Message; } #endregion Get OS Version #region Get Office/Word Version try { WordProduct = OfficeHelper.GetWordProduct(); WordVersion = OfficeHelper.GetWinWordVersion(); } catch (Exception ex) { Debug.WriteLine(ex.Message); WordProduct = "Exception " + ex.Message; } #endregion Get Office/Word Version #region Get Product Version and Location using reflection Assembly assembly = Assembly.GetExecutingAssembly(); // CodeBase is the location of the installed files Uri uriCodeBase = new Uri(assembly.CodeBase); AddInLocation = Path.GetDirectoryName(uriCodeBase.LocalPath); Version productVersion = assembly.GetName().Version; AddInVersion = "Chem4Word V" + productVersion; #endregion Get Product Version and Location using reflection #region Get IpAddress ParameterizedThreadStart pts = GetExternalIpAddress; Thread t = new Thread(pts); t.Start(null); #endregion Get IpAddress GetDotNetVersionFromRegistry(); GetScreens(); }