VS2010 C#写一个自动检测是否安装某软件,如果没有就安装,如果又就不安装的代码。。。

 我来答
百度网友a5d1e691
2013-06-23 · 超过17用户采纳过TA的回答
知道答主
回答量:91
采纳率:0%
帮助的人:38.2万
展开全部
没什么说的,直接判断软件的安装,给你demo如下,这种解释最方便了, 记得给分哦 static void Main()
{
StringBuilder result = new StringBuilder();
for (int index = 0; ; index++)
{
StringBuilder productCode = new StringBuilder(39);
if (MsiEnumProducts(index, productCode) != 0)
{
break;
}

foreach (string property in new string[] { "ProductName", "Publisher", "VersionString", })
{
int charCount = 512;
StringBuilder value = new StringBuilder(charCount);

if (MsiGetProductInfo(productCode.ToString(), property, value, ref charCount) == 0)
{
value.Length = charCount;
result.AppendLine(value.ToString());
}
}
result.AppendLine();
}
Console.WriteLine(result.ToString());
}

[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, StringBuilder lpValueBuf, ref int pcchValueBuf);
微测检测
2023-10-30 广告
深圳市微测检测有限公司始创于2005年,是一家综合性、全方位、一站式的权威第三方检测认证公司。自成立以来,Microtest微测检测已成功为上万家企业完成数十万计的产品测试和认证,协助企业的产品畅销全球。Microtest微测检测已建立二十... 点击进入详情页
本回答由微测检测提供
百度网友d038aa7
2013-06-20 · TA获得超过471个赞
知道小有建树答主
回答量:1129
采纳率:64%
帮助的人:235万
展开全部
如果你的某软件在安装的时候有在注册表中注册 那么可以通过注册表来判断,如果你的自检程序和某软件的相对位置是绝对的 那么可以通过这个相对路径来判断,要看你的具体情况
追问
是通过注册表,但是我安装某软件的时候,我不知道添加哪个注册表里面,我是通过检测注册表里面的什么文件来检测是否有该软件?还是什么?谢谢先!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式