请问如何确定机器上(windows)是否安装了一个软件

adwork 2002-10-10 09:17:24
程序需要报表软件(cell)的支持,我希望在用户机器上没有安装该软件时,能够提示用户安装,请问如何实现?
...全文
125 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
adwork 2002-10-10
  • 打赏
  • 举报
回复
不一定在HKEY_CLASSES_ROOT\Applications\下,但一定在HKEY_CLASSES_ROOT下有注册的,也不一定是应用程序名
adwork 2002-10-10
  • 打赏
  • 举报
回复
已经自己解决,分享:
在HKEY_CLASSES_ROOT\Applications\下windows对每个已安装程序进行了注册,其注册名就是应用程序名,如cell.exe,可以使用RegistryValues()函数检测该程序是否存在
结分
adwork 2002-10-10
  • 打赏
  • 举报
回复
to xiaobzg(小兵张嘎)

但是有可能软件把注册表的键名改了,(例如修改其中的版本号信息)
我希望能有这样的一个类似函数
HANDLE GetModuleExist(string exeName)
这样如果返回为NULL,则说明没有安装,否则已安装了,
例如:GetModuleExist("cell.exe")
有没有这样的api函数
licena 2002-10-10
  • 打赏
  • 举报
回复
根据注册表,做提示
xiaobzg 2002-10-10
  • 打赏
  • 举报
回复
如果没有取到,那就是没有安装了
xiaobzg 2002-10-10
  • 打赏
  • 举报
回复
一版是通过取得注册表的方式
找到该软件在注册表中的注册项
使用RegistryGet来取得

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧