国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【C#】獲取已安裝的應(yīng)用名稱、啟動(dòng)路徑、安裝位置、產(chǎn)品代碼、卸載字符串等

這篇具有很好參考價(jià)值的文章主要介紹了【C#】獲取已安裝的應(yīng)用名稱、啟動(dòng)路徑、安裝位置、產(chǎn)品代碼、卸載字符串等。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

代碼

   /// <summary>
    /// Windows信息
    /// </summary>
    public partial class WindowsInfo
    {

        private static List<AppInfo> GetInstalledAppInfos()
        {
            List<AppInfo> appInfos = new List<AppInfo>();
            string SameApp = "";

            void AddApp(RegistryKey subkey, string keyName)
            {
                string displayIcon = subkey.GetValue("DisplayIcon") as string;
                if (string.IsNullOrWhiteSpace(displayIcon)) displayIcon = string.Empty;

                string installLocation = subkey.GetValue("InstallLocation") as string;
                if (string.IsNullOrWhiteSpace(installLocation)) installLocation = string.Empty;

                string displayName = subkey.GetValue("DisplayName") as string;
                if (string.IsNullOrWhiteSpace(displayName)) displayName = string.Empty;

                string uninstallString = subkey.GetValue("UninstallString") as string;
                if (string.IsNullOrWhiteSpace(uninstallString)) uninstallString = string.Empty;

                var app = new AppInfo(displayName, displayIcon, installLocation, keyName, uninstallString);

                if (appInfos.Exists(a => a.ToString() == app.ToString()))
                {
                    SameApp += app.ToString() + "\r\n";
                }
                else
                {
                    appInfos.Add(app);
                }
            }

            using (RegistryKey key = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", false))
            {
                foreach (String keyName in key.GetSubKeyNames())
                {
                    RegistryKey subkey = key.OpenSubKey(keyName);
                    AddApp(subkey, keyName);
                }
            }

            using (var key = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64).OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", false))
            {
                foreach (String keyName in key.GetSubKeyNames())
                {
                    RegistryKey subkey = key.OpenSubKey(keyName);
                    AddApp(subkey, keyName);
                }
            }

            using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall", false))
            {
                foreach (String keyName in key.GetSubKeyNames())
                {
                    RegistryKey subkey = key.OpenSubKey(keyName);

                    AddApp(subkey, keyName);
                }
            }

            return appInfos;
        }

    }

    /// <summary>
    /// APP信息
    /// </summary>
    public class AppInfo
    {
        public AppInfo(string name, string displayIcon, string installLocation, string productCode, string uninstallString)
        {
            DisplayName = name;
            DisplayIcon = displayIcon;
            InstallLocation = installLocation;
            ProductCode = productCode;
            UninstallString = uninstallString;
        }

        /// <summary>
        /// 顯示名稱
        /// </summary>
        public string DisplayName { get; set; }
        /// <summary>
        /// 啟動(dòng)路徑
        /// </summary>
        public string DisplayIcon { get; set; }
        /// <summary>
        /// 安裝位置
        /// </summary>
        public string InstallLocation { get; set; }
        /// <summary>
        /// 產(chǎn)品代碼或名稱
        /// </summary>
        public string ProductCode { get; set; }
        /// <summary>
        /// 卸載字符串
        /// </summary>
        public string UninstallString { get; set; }

        public override string ToString()
        {
            return $"Name:{DisplayName}---Icon:{DisplayIcon}---Loc:{InstallLocation}---Code:{ProductCode}---UnStr:{UninstallString}";
        }
    }

例子

 var installedAppInfos = WindowsInfo.GetInstalledAppInfos();

參考

c#獲取系統(tǒng)已安裝軟件列表(32,64位均可使用)_zhoyuwo的博客-CSDN博客文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-643617.html

到了這里,關(guān)于【C#】獲取已安裝的應(yīng)用名稱、啟動(dòng)路徑、安裝位置、產(chǎn)品代碼、卸載字符串等的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包