我想检测Solidworks的安装,以了解发布和Service Pack(如果已应用)。 我找到了一个注册密钥"安装源" HKML / SOLIDWORK / Setup"但是有些电脑把这个钥匙弄空 还有另一种获取这些信息的方法吗?
由于
答案 0 :(得分:2)
您尚未指定语言,因此我无法使用确切的语法帮助您,但使用SOLIDWORKS API,您可以在ISldWorks对象上获取RevisionNumber方法。根据文件:
对于首次公开发布之前的所有SOLIDWORKS可执行文件 SOLIDWORKS 2000,此方法返回1.0.0。对于初始公众 发布SOLIDWORKS 2000时,此方法返回8.0.0。对于SOLIDWORKS 2000 SP1,此方法返回8.1.0,并返回每个连续的Service Pack SOLIDWORKS 2000增加了最左边的小数部分 回报价值。每个连续的主要公开发布都会增加 小数点左边的返回值的一部分和 每个的初始公开发布的小数值为0.0。对于 例如,SOLIDWORKS 2005的初始公开发布版返回13.0.0 而SOLIDWORKS 2005 SP0.1返回13.0.1和SOLIDWORKS 2005 SP1 返回13.1.0。
Alpha,beta和预发布版本会返回负面的小修订版 数:
a1:-1.0
b1:-2.0
b2:-3.0
b3:-4.0
PR1:-5.0(此值可能会降低或更高,具体取决于测试版的数量。)
例如,SOLIDWORKS 2015 beta2的返回值为23.-3.0.b1:
答案 1 :(得分:0)
这是你要找的吗?
using SolidWorks.Interop.sldworks;
using System;
namespace Sample
{
class Program
{
const string appString = "SldWorks.Application";
static void Main(string[] args)
{
SldWorks swApp = null;
try
{
swApp = (SldWorks)System.Runtime.InteropServices.Marshal.GetActiveObject(appString);
if (swApp == null) throw new NullReferenceException(nameof(swApp));
}
catch (Exception)
{
try
{
swApp = (SldWorks)Activator.CreateInstance(Type.GetTypeFromProgID(appString));
if (swApp == null) throw new NullReferenceException(nameof(swApp));
}
catch (Exception)
{
Console.WriteLine("Could not get SolidWorks Version");
}
}
if (swApp != null) Console.WriteLine("SolidWorks Version: {0}", swApp.RevisionNumber());
Console.ReadLine();
}
}
}