关于如何获取像Get windows details like product key, domain name, user name, etc.这样的Windows操作系统产品密钥,有几个已回答的问题,但我想知道如何以编程方式获取已安装软件的产品密钥。 Uninstall Registry Key非常好,因为它有许多属性与已安装的程序相关联,但是没有任何属性涉及产品密钥,因此我想知道是否通过某些C#库或其他一些方法有其他方法获取任意软件的产品密钥以及如何通过C#获取它。
答案 0 :(得分:0)
每个程序都没有标准的方式来存储它的产品密钥或许可。例如,您可以从2010年及之前恢复Office产品密钥,但在2013年,我认为不可能。许多产品都具有在注册表中加密或使用基于云的解决方案(Office 365,Adobe CC)的激活详细信息。您可以尝试研究您希望定位的各个产品,以便更好地了解每个程序的处理方式。
答案 1 :(得分:0)
您可以打开不同的注册表配置单元并对其进行递归搜索"关键字"像:
var reg = Registry.LocalMachine.OpenSubKey("Software");
SearchRecursive(reg);
...
private void SearchRecursive(ReigstryKey reg)
{
var subkeys = reg.GetSubKeyNames();
var values = reg.GetValueNames();
foreach (var value in values)
{
...
}
}
我认为你最后需要某种过滤器,可能会有很多错误的命中"。