我使用以下代码枚举系统中安装的应用程序:
ManagementObjectSearcher mos = new ManagementObjectSearcher("SELECT * FROM Win32_Product");
ManagementObjectCollection collection = mos.Get();
List<string> appList = new List<string>();
foreach (ManagementObject mo in collection)
{
try
{
string appName = mo["Name"].ToString();
appList.Add(appName);
}
catch (Exception ex)
{
}
}
当我在控制台或WPF应用程序中使用此代码时,我会获得完整的应用列表。但是当我在Windows服务中使用它时,我没有得到整个列表。在我的情况下,它的1个应用程序。在Windows服务中使用它有限制吗?