我们需要创建一个程序..实际上我们被要求创建一个软件许可合规工具....我们如何检查机器内安装的软件.. 是通过注册表...在搜索时我看到一篇文章说我们需要查看HKLM的“卸载”子项。
此外,我们还获取有关s / w是否是免费软件,共享软件,从注册表获得许可的信息????
我们计划使用Python和Mysql
来做到这一点答案 0 :(得分:1)
正如您已经提到的,可以在密钥
下的注册表中找到(正确)安装的程序列表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
例如,请参阅here或使用google获取更多信息。使用regedit
查看此密钥,结构ID非常明显。
要使用python访问注册表,请参阅python标准库文档中的_winreg – Windows registry access。
请注意,可能总是有软件没有显示在注册表中:某些软件仍可以通过将其放在目录中来安装,你不会抓住这些人......
对于第二部分,无法通过查看注册表来告知许可类型或许可状态(即获得适当许可)。没有标准的方法来存储此信息。您可以做的最好的事情是编制尽可能多的程序列表(您必须手动执行此操作,即使对于Office,Adobe等标准程序也会非常耗时)并存储所有必要的信息(即数据库中的GUID键,许可证类型等)。
然后,您的工具可以将当前安装的程序列表与列表进行比较,可能会检查许可状态。这将是第一步,因为每个软件都有自己的(大多数秘密!)存储方式 - 毕竟如果这些信息可以访问它也可以伪造。
然后,您的工具可以通知系统管理员其调查结果以及列表中没有的任何程序,他必须手动检查许可。您可以提供一些组织帮助来管理这些信息,甚至可以更新数据库以备将来使用。
HTH
马丁
答案 1 :(得分:0)
您可以使用AutoIt一种功能强大的Windows脚本编写语言,在Windows上使用API非常好用。