精华内容
下载资源
问答
  • 获取软件信息的注册表位置
    2021-05-19 11:01:47
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall              # 64位程序
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall  # 32位程序
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall # 安装到当前用户的程序,安装时不需要管理员权限
    更多相关内容
  • VC 向注册表中写入软件信息,一个成熟软件是不可能不操作注册表的,注册表是系统查找软件信息的数据库,如果操作这个数据库读写信息,或许你会从本VC 代码中找到答案。
  • 它是Windows注册表中轻松快速地进行搜索的强大工具。 该实用程序还允许您删除所需的所有键。 为了充分利用该程序的潜力并找到所有密钥,建议使用管理员权限启动该程序。 新版本:-bug固定-性能改进要运行该...
  • 软件的安装、卸载信息主要以下三个位置: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall # 64位程序 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\...

     软件的安装、卸载信息主要在以下三个位置:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall              # 64位程序
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall  # 32位程序
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall # 安装到当前用户的程序,安装时不需要管理员权限

    如果明明卸载了该软件,可又在”应用和功能“里看到该软件的卸载选项,可以到以上三个位置找找看。

    比如博主最近卸载了迅雷,中间卡住了,安装文件都删光了,”应用和功能“里还是可以看到迅雷的卸载选项。

    点击卸载又提示找不到文件,只好手动找到注册表位置,并删除安装记录。

    展开全文
  • 完整版注册表监视.e.rar
  • 当我们win10系统中将auto cad进行卸载后系统注册表内会残留下cad的安装信息,如果不将其清理干净的话下次我们需要安装新版cad就会遇到无法正常安装的现象,针对这样的现象我们可以通过下面方法删除注册表中已...

    cad注册表残留怎么删除?当我们在win10系统中将auto cad进行卸载后系统中的注册表内会残留下cad的安装信息,如果不将其清理干净的话下次我们需要安装新版cad就会遇到无法正常安装的现象,针对这样的现象我们可以通过下面方法删除注册表中已卸载的cad的材料文件来解决!

    win10删除cad注册表的方法:

    以cad2014为例

    1、按下windows键(windows 徽标键) R 组合键打开运行,在运行框中键入:

    regedit 点击确定打开注册表;

    2、打开注册表后依次展开:

    HKEY_CLASSES_ROOT\Installer\Products,如图:

    5a06b973f153bd85eccd8dca1a5d9342.png

    3、在该文件夹里找到7D2F开头的文件,如图蓝色框所示,打开该文件夹,在右侧找到标注有CAD2014简体中文类似的文件,这表示这是我们要找的文件夹,接着我们打开下面两个7D2F开头的文件,确定里面都有CAD2014类的文件。接下来注意了,我们要删除这三个7D2F开头的文件夹,而不是里面单独的那几个文件。删除蓝色框圈起来的 文件夹,如图:

    2dd016331db38c656cbac295b2936420.png

    通过上述方法进行操作我们就成功的在win10系统中将cad的注册表信息给删除了!

    展开全文
  • 网上查了很久,看到有很多通过注册表获取已安装软件列表,但是我试了下获取的都不全。 找到了一个使用VB写的程序是可以获取全部安装软件列表的,那个文章我找不到了,回头找到再贴出来。我这边用C#实现了他的代码...

    在网上查了很久,看到有很多通过注册表获取已安装软件列表,但是我试了下获取的都不全。

    找到了一个使用VB写的程序是可以获取全部安装软件列表的,那个文章我找不到了,回头找到再贴出来。我这边用C#实现了他的代码的功能,也是可以获取所有软件的。

    using Microsoft.Win32;
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Text;
    using System.Text.RegularExpressions;
    using UnityEngine;
    
    public class InstalledProgram
    {
       
        public InstalledProgram(string ProgramDisplayName)
        {
            this.DisplayName = ProgramDisplayName;
        }
        public InstalledProgram(string ProgramDisplayName, string ProgramParentDisplayName , bool IsProgramUpdate, string ProgramVersion,string ProgramInstallLocation)
        {
            this.DisplayName = ProgramDisplayName;
            this.ParentDisplayName = ProgramParentDisplayName;
            this.IsUpdate = IsProgramUpdate;
            this.Version = ProgramVersion;
            this.InstallLocation = ProgramInstallLocation;
        }
    
        private string _DisplayName = string.Empty;
        /// <summary>
        /// The name that would be displayed in Add/Remove Programs
        /// </summary>
        public string DisplayName
        {
            get
            {
                return _DisplayName;
            }
            set
            {
                _DisplayName = value;
            }
        }
    
        private string _Version = string.Empty;
        /// <summary>
        /// The version of the program
        /// </summary>
        public string Version
        {
            get
            {
                return _Version;
            }
            set
            {
                _Version = value;
            }
        }
    
    
        private string _ParentDisplayName = string.Empty;
        /// <summary>
        /// If this program is an update then this will contain the display name of the product that this is an update to
        /// </summary>
        public string ParentDisplayName
        {
            get
            {
                return _ParentDisplayName;
            }
            set
            {
                _ParentDisplayName = value;
            }
        }
    
        private bool _IsUpdate;
        /// <summary>
        ///  Is this program classed as an update 
        /// </summary>
        public bool IsUpdate
        {
            get
            {
                return _IsUpdate;
            }
            set
            {
                _IsUpdate = value;
            }
        }
    
        private string _InstallLocation = string.Empty;
        /// <summary>
        /// 安装位置
        /// </summary>
        public string InstallLocation {
    
            get
            {
                return _InstallLocation;
            }
            set
            {
                _InstallLocation = value;
            }
        }
    }
    
    
    public class GetWindowSoft : MonoBehaviour
    {
    
        private void Start()
        {
            GetAllInstalledProgram();
        }
    
    
        /// <summary>
        /// 获取电脑安装的所有程序
        /// </summary>
        public void GetAllInstalledProgram()
        {
            List<InstalledProgram> ProgramList = new List<InstalledProgram>();
            RegistryKey ClassesKey = Registry.LocalMachine.OpenSubKey(@"Software\Classes\Installer\Products");
            //---Wow64 Uninstall key
            RegistryKey Wow64UninstallKey = Registry.LocalMachine.OpenSubKey(@"Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall");
            ProgramList = GetUninstallKeyPrograms(Wow64UninstallKey, ClassesKey, ProgramList, true);
            //---Standard Uninstall key
            RegistryKey StdUninstallKey = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Uninstall");
            ProgramList = GetUninstallKeyPrograms(StdUninstallKey, ClassesKey, ProgramList, true);
    
            foreach (string UserSid in Registry.Users.GetSubKeyNames())
            {
                //---HKU Uninstall key
                RegistryKey CuUnInstallKey = Registry.Users.OpenSubKey(UserSid + @"\Software\Microsoft\Windows\CurrentVersion\Uninstall");
                ProgramList = GetUninstallKeyPrograms(CuUnInstallKey, ClassesKey, ProgramList, true);
                //---HKU Installer key
                RegistryKey CuInstallerKey = Registry.Users.OpenSubKey(UserSid + @"\Software\Microsoft\Installer\Products");
                ProgramList = GetUserInstallerKeyPrograms(CuInstallerKey, Registry.LocalMachine, ProgramList);
            }
            foreach (var item in ProgramList)
            {
                print(item.DisplayName+"  --   "+item.InstallLocation);
            }
            try
            {
                Registry.Users.Close();
                Registry.LocalMachine.Close();
            }
            catch (Exception)
            {
                throw;
            }
    
        }
    
        List<InstalledProgram> GetUninstallKeyPrograms(RegistryKey UninstallKey, RegistryKey ClassesKey, List<InstalledProgram> ExistingProgramList, bool IncludeUpdates)
        {
            if (UninstallKey != null)
            {
                //'Loop through all subkeys (each one represents an installed program)
                foreach (string SubKeyName in UninstallKey.GetSubKeyNames())
                {
    
                    try
                    {
                        RegistryKey CurrentSubKey = UninstallKey.OpenSubKey(SubKeyName);
                        //'Skip this program if the SystemComponent flag is set
                        int IsSystemComponent = 0;
                        try
                        {
                            IsSystemComponent = (int)(CurrentSubKey.GetValue("SystemComponent", 0));
                        }
                        catch (Exception)
                        {
                            throw;
                        }
                        if (IsSystemComponent != 1)
                        {
                            //If the WindowsInstaller flag is set then add the key name to our list of Windows Installer GUIDs
                            if ((int)(CurrentSubKey.GetValue("WindowsInstaller", 0)) != 1)
                            {
                                // Regex WindowsUpdateRegEx = new Regex();
                                string ProgramReleaseType = (CurrentSubKey.GetValue("ReleaseType", String.Empty)).ToString();
                                //print("ProgramReleaseType:"+ProgramReleaseType);
                                string ProgVersion = string.Empty;
                                try
                                {
                                    ProgVersion = (CurrentSubKey.GetValue("DisplayVersion", String.Empty)).ToString();
                                }
                                catch (Exception)
                                {
                                    throw;
                                }
                                //Check to see if this program is classed as an update
                                if (Regex.Match(SubKeyName, "KB[0-9]{6}$").Success ||
                                    (CurrentSubKey.GetValue("ParentKeyName", String.Empty)).ToString() != string.Empty ||
                                    (ProgramReleaseType == "Security Update") ||
                                    (ProgramReleaseType == "Update Rollup") ||
                                    (ProgramReleaseType == "Hotfix"))
                                {
                                    if (IncludeUpdates)
                                    {
                                        string Name = CurrentSubKey.GetValue("DisplayName", String.Empty).ToString();
    
                                        if (Name != string.Empty && !IsProgramInList(Name, ExistingProgramList))
                                        {
                                            
                                            ExistingProgramList.Add(new InstalledProgram(Name, CurrentSubKey.GetValue("ParentDisplayName", String.Empty).ToString(), true, ProgVersion, GetInstallLocation(CurrentSubKey)));
                                        }
                                    }
                                }
                                else
                                {
                                    bool UninstallStringExists = false;
                                    foreach (string valuename in CurrentSubKey.GetValueNames())
                                    {
                                        if (string.Equals("UninstallString", valuename, StringComparison.CurrentCultureIgnoreCase))
                                        {
                                            UninstallStringExists = true;
                                        }
                                    }
                                    if (UninstallStringExists)
                                    {
                                        string Name = CurrentSubKey.GetValue("DisplayName", String.Empty).ToString();
                                        if (Name != string.Empty && !IsProgramInList(Name, ExistingProgramList))
                                        {
                                            ExistingProgramList.Add(new InstalledProgram(Name, CurrentSubKey.GetValue("ParentDisplayName", String.Empty).ToString(), false, ProgVersion, GetInstallLocation(CurrentSubKey)));
                                        }
                                    }
                                }
                            }
                            else//If WindowsInstaller
                            {
                                string ProgVersion = string.Empty;
                                string Name = string.Empty;
                                bool FoundName = false;
                                try
                                {
                                    string MsiKeyName = GetInstallerKeyNameFromGuid(SubKeyName);
                                    RegistryKey CrGuidKey = ClassesKey.OpenSubKey(MsiKeyName);
                                    if (CrGuidKey != null)
                                    {
                                        Name = CrGuidKey.GetValue("ProductName", String.Empty).ToString();
                                    }
                                }
                                catch (Exception) { }
                                try
                                {
                                    ProgVersion = (CurrentSubKey.GetValue("DisplayVersion", String.Empty)).ToString();
                                }
                                catch (Exception)
                                {
    
                                    throw;
                                }
                                if (Name != string.Empty && !IsProgramInList(Name, ExistingProgramList))
                                {
                                    ExistingProgramList.Add(new InstalledProgram(Name, CurrentSubKey.GetValue("ParentDisplayName", String.Empty).ToString(), true, ProgVersion, GetInstallLocation(CurrentSubKey)));
                                }
                            }
                        }
                    }
                    catch (Exception) {
    
                        throw;
                    }
                }
            }
            return ExistingProgramList;
        }
    
        /// <summary>
        /// 获取软件打开路径(不是完全正确的)
        /// </summary>
        /// <param name="registryKey"></param>
        /// <returns></returns>
        string GetInstallLocation( RegistryKey registryKey)
        {
            string location = string.Empty;
            string DisplayIcon = registryKey.GetValue("DisplayIcon", string.Empty).ToString();
            string DisplayName = registryKey.GetValue("DisplayName", string.Empty).ToString();
            string InstallLocation = registryKey.GetValue("InstallLocation", string.Empty).ToString();
            string InstallSource = registryKey.GetValue("InstallSource", string.Empty).ToString();
    
            if (DisplayIcon.Contains(".exe"))
            {
                string[] loc = DisplayIcon.Split(',');//去掉后面的“,0”
                location= loc[0];
            }
            else if (InstallLocation != string.Empty)
            {
                location = InstallLocation + @"\" + DisplayName + ".exe";
            }
            if (InstallSource != string.Empty)
            {
                location = InstallSource+ DisplayName + ".exe";
            }
            return location;
        }
    
    
        bool IsProgramInList(string ProgramName, List<InstalledProgram> ListToCheck)
        {
            return ListToCheck.Contains(new InstalledProgram(ProgramName));
        }
        string GetInstallerKeyNameFromGuid(string GuidName)
        {
            string[] MsiNameParts = GuidName.Replace("{", "").Replace("}", "").Split('-');
            StringBuilder MsiName = new StringBuilder();
            //'Just reverse the first 3 parts
            for (int i = 0; i <= 2; i++)
            {
                MsiName.Append(ReverseString(MsiNameParts[i]));
            }
            //For the last 2 parts, reverse each character pair
            for (int j = 3; j <= 4; j++)
            {
                for (int i = 0; i < MsiNameParts[j].Length; i++)
                {
                    MsiName.Append(MsiNameParts[j][i + 1]);
                    MsiName.Append(MsiNameParts[j][i]);
                    i += 1;
                }
    
            }
            return MsiName.ToString();
        }
    
        string ReverseString(string input)
        {
            char[] chars = input.ToCharArray();
            Array.Reverse(chars);
            return chars.ToString();
        }
    
        List<InstalledProgram> GetUserInstallerKeyPrograms(RegistryKey CuInstallerKey, RegistryKey HklmRootKey, List<InstalledProgram> ExistingProgramList)
        {
            if (CuInstallerKey != null)
            {
                foreach (string CuProductGuid in CuInstallerKey.GetSubKeyNames())
                {
                    bool ProductFound = false;
                    foreach (string UserDataKeyName in HklmRootKey.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Installer\UserData").GetSubKeyNames())
                    {
                        //Ignore the LocalSystem account
                        if (UserDataKeyName != "S-1-5-18")
                        {
                            RegistryKey ProductsKey = HklmRootKey.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Installer\UserData\" + UserDataKeyName + @"\Products");
                            if (ProductsKey != null)
                            {
                                string[] LmProductGuids = ProductsKey.GetSubKeyNames();
                                foreach (string LmProductGuid in LmProductGuids)
                                {
                                    if (LmProductGuid == CuProductGuid)
                                    {
                                        RegistryKey UserDataProgramKey = HklmRootKey.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Installer\UserData\" + UserDataKeyName + @"\Products\" + LmProductGuid + @"\InstallProperties");
                                        if ((int)UserDataProgramKey.GetValue("SystemComponent", 0) != 1)
                                        {
                                            string Name = CuInstallerKey.OpenSubKey(CuProductGuid).GetValue("ProductName", String.Empty).ToString();
                                            string ProgVersion = string.Empty;
                                            try
                                            {
                                                ProgVersion = UserDataProgramKey.GetValue("DisplayVersion", String.Empty).ToString();
                                            }
                                            catch (Exception)
                                            {
    
                                                throw;
                                            }
                                            if (Name != string.Empty && !IsProgramInList(Name, ExistingProgramList))
                                            {
                                                ExistingProgramList.Add(new InstalledProgram(Name));
                                                ProductFound = true;
                                            }
                                        }
                                    }
                                }
                                if (ProductFound)
                                {
                                    break;
                                }
                                try
                                {
                                    ProductsKey.Close();
                                }
                                catch (Exception)
                                {
    
                                    throw;
                                }
                            }
                        }
                    }
                }
            }
    
            return ExistingProgramList;
        }
    
    }
    

    直接使用即可,就是获取到了软件打开路径还有些问题需要优化。

    展开全文
  • 程序开发一般都会涉及从注册表获取相关信息,本篇文章将以从注册表获取软件的安装路径为例子 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1....
  • 查找软件的路径 string strC2ProgPath = null; GetSoftWare(“XXX”, out strC2ProgPath); /// <summary> /// 软件是否安转 /// </summary> /// <param name="SoftWareName"> 软件名称</.....
  • 读取注册表获取安装软件信息

    千次阅读 2018-05-23 15:33:45
    1、查看是否安装了某个软件:/// &lt;summary&gt; /// Checks the security control. /// &lt;/summary&gt; /// &lt;returns&gt;&lt;/returns&gt; public bool ...
  • 注册表修改软件默认安装路径

    千次阅读 2021-01-18 14:37:47
    这里写目录标题修改软件默认安装路径一、注册表修改软件默认安装路径二、NTFS文件系统的目录联接(无需修改注册表) 修改软件默认安装路径 注意:以下方法仅适用于软件安装前进行 一、注册表修改软件默认安装路径 ...
  • 然后,在注册表编辑器,打开关于此文件打开方式设置的注册表路径。例如:关于 .xml 文件,打开方式的路径如下(如图2): 计算机\HKEY_CLASSES_ROOT\xmlfile\shell\Open\command 图1 图2 (3)...
  • 以下两种方式均通过注册表方式实现程序软件开机自启,其中第二种方式是为了满足Windows系统启动默认显示程序软件而不显示Windows原有桌面,有无法还原的风险,请谨慎选择。 更改注册表Run 找到计算机\HKEY_LOCAL_...
  • Windows系统使用注册表卸载软件

    千次阅读 2019-07-02 14:57:34
    1、快捷键 ctrl+r打开运行窗口 2、输入regedit 后回车 3、找到计算机\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall ...4、找到想要删除的软件名称删除即可。 ...
  • Registry Backup是一款免费的注册表备份软件。该软件小巧,而且能够快速地备份电脑里面的注册表,快来... 使用说明: 当用户误删注册表信息的时候,就可以通过该备份软件找到删掉的注册表,再把注册表进行恢复即可。
  • 软件介绍: 注册表是系统至关重要的部分,如果...语言切换说明:点击软件窗口上方的Settings齿轮图标,弹出的窗口中找到Default Language,点击右侧的三角按钮,选择“简体中文”,再点击OK即可转换到中文版本。
  • RegCool 是一个高级注册表编辑器,RegCool 还添加了许多功能强大的功能,... 除了可以 RegEdit 和 RegEdt32 中找到的所有功能之外,RegCool 还增加了许多强大的功能,使您可以更快,更高效地处理与注册表有关的任务。
  • electron 通过注册表获取软件安装路径 相关依赖 electron-builder ^22.9.1 regedit ^3.0.3 使用 需要package.json的build对象添加extraResources,否则打包后无法使用 "build": { "extraResources": [ { ...
  • 该方案将找到注册表项比赛的任何一个或此列表选定的所有的字符串。的是看它的使用卸载程序后,如果您的注册表条目左如“MyCoolSoftware的MyCompany的”,你可以象“MyCoolSoftware”和“MyCompany的”单词搜索...
  • 软件注册表设置开机自启动
  • 我主页的思维导图内容大多从我的笔记整理而来,相应技巧可笔记查找原题, 有兴趣的可以去 我的主页了解更多计算机学科的精品思维导图整理 本文可以转载,但请注明来处,觉得整理的不错的小伙伴可以点赞关注...
  • Revit软件的彻底卸载方法 注册表卸载2018-09-15由于卸载不当导致Revit软件无法再次安装的事件已经发生了太多了,这里小Z将完全卸载Revit软件的方法分享给大家,希望对那些由于卸载方法不当而出现问题的盆友们些许...
  • c#获取软件在注册表中的安装信息

    千次阅读 2016-12-28 08:38:18
    /// 获取软件在注册表的安装信息 /// 软件都会这个注册表下填写自己的安装信息 /// HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths /// /// 软件名称 /// 返回软件安装路径 ...
  • 然后一顿百度 ‘unity 导出exe窗口特别小’,‘unity 导出exe窗口大小缓存哪’,‘Windows,文件夹窗口大小是如何缓存的’,‘Windows 应用软件注册表位置’。 我百度这时间里我又给他导出了一个可以调整窗口...
  • 使用起来十分方便,只要找到对应的软件,点击卸载就可以了
  • 解决办法:1、先控制面板的添加删除程序,卸载三菱编程软件及仿真软件;2、再删除注册表注册表要删除干净,操作方法同前面一致;3、再重新安装软件,注意安装前退出杀毒软件,关掉防火墙,并安装到另一个路径...
  • 注册表修改windows软件默认打开程序

    千次阅读 2019-05-22 06:26:11
    本文以打开.pdf文件类型...左侧栏中找到“.pdf”项。(可ctrl+f输入.pdf查找) 3.双击右边窗口的默认项一栏,把弹出窗口的数值改为“Applications/2345PdfReader.exe”(2345PdfReader为打开pdf文件的程序名...
  • 跟着网上写了个dll文件,注册了,想删除,经过...运行-regedit-打开注册表-:计算机\HKEY_CLASSES_ROOT\下按dll文件的名字找到注册信息-手动删除。 注意:注册表里信息很多,如果是中文名会此路径的最下方。 ...
  • 在上一篇文章[彻底关闭Windows 10 Defender病毒防护](https://dreamlife.blog.csdn.net/article/details/121898037),使用`本地策略组`来尝试关闭烦人的`Windows Defender`,...​ 今天这个就尝试使用注册表来搞它。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 57,992
精华内容 23,196
关键字:

怎么在注册表中找到软件