繁体   English   中英

使用WMI和注册表无法获取本地计算机上已安装软件的安装日期和时间

[英]Not able to get installed date and time of installed softwares in local machine using WMI and Registry

我试图在本地计算机上获取安装的软件以及带有时间戳的安装日期。 但是我使用属性InstallDate仅获得日期如“ 20140225”,我们还有一个属性InstallDate2,但是我为此获得了空值。 我想在c#.net中获取带有日期和时间的已安装程序。

谁能为此提供解决方案。

提前致谢。

我的代码使用注册表:

                string uninstallKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
                    using (RegistryKey rk = Registry.LocalMachine.OpenSubKey(uninstallKey))
                    {
                        foreach (string skName in rk.GetSubKeyNames())
                        {
                            using (RegistryKey sk = rk.OpenSubKey(skName))
                            {
                                // we have many attributes other than these which are useful.
                                Console.WriteLine(sk.GetValue("DisplayName") + "-   " + sk.GetValue("DisplayVersion") + "  -" + sk.GetValue("InstallDate") + "  -" + sk.GetValue("Publisher"));
                            }

                        }
                    }
                    Console.ReadLine();

这是使用WMI代码的:

ManagementObjectCollection moReturn;

        ManagementObjectSearcher moSearch;

        moSearch = new ManagementObjectSearcher("Select * from Win32_Product");

        moReturn = moSearch.Get();
        foreach (ManagementObject mo in moReturn)
        {
            Library.WriteLogMessageList("Name: " + mo["Name"].ToString() + "Date:" + mo["InstallDate"].ToString() + "Caption: " + mo["Caption"].ToString() + "Description: " + mo["Description"].ToString());

            listPro.Add(new ListProgramProperties { Name = mo["Name"].ToString(), Caption = mo["Caption"].ToString(), Description = mo["Description"].ToString(), InstalledDate = mo["InstallDate"].ToString() });


          //  Console.WriteLine(mo["Name"].ToString()); //+ " || " +mo["InstallDate2"].ToString()
        }




    }

这可能是您需要的:

mo["InstallDate"].ToString()替换为mo["InstallDate"].ToString("yyyy-MM-dd h:mm tt")

您可以将这些格式中的任何一种指定为ToString()的参数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM