日期:2014-05-18  浏览次数:20806 次

c#能否从注册表中准确得出例如迅雷等的安装路径?
如题,谁有这样的代码么?望不吝赐教

------解决方案--------------------
另外还有就是可以通过当前进程列表去查找正在运行的程序,再查找程序在磁盘的位置,这个信息最准确。
------解决方案--------------------
如果不是绿色安装好办,迅雷不是有个产品ID么,找到之后:
C# code
//遍历获取所有产品号
[DllImport("msi.dll", SetLastError = true)]
static extern int MsiEnumProducts(int iProductIndex, StringBuilder lpProductBuf);
//根据产品号获取产品信息
[DllImport("msi.dll", SetLastError = true)]
static extern int MsiGetProductInfo(string szProduct, string szProperty, [Out] StringBuilder lpValueBuf, [In, Out] ref int pcchValueBuf);