如何判断操作系统中是否同时安装了多个浏览器?比如IE, Firefox, Google Chrome以及Opera和360浏览器?

解决方案 »

  1.   

        这个问题之前也想过,最后答案还是注册表。把各种浏览器安装一遍,找出KEY,程序里一个个对比。麻烦也只能这样了
      

  2.   


    import win32api, win32con
    import osKEYNAME = 'SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall'
    ROOTKEY = win32con.HKEY_LOCAL_MACHINEdef Determine(softwarename):
        found = False
        pyKey = win32api.RegOpenKey(ROOTKEY,KEYNAME,0,win32con.KEY_READ)
        for eachkey in win32api.RegEnumKeyExW(pyKey):
            realpath = os.path.join(KEYNAME,eachkey[0])
            softkey = win32api.RegOpenKey(ROOTKEY,realpath,0,win32con.KEY_READ)
            try:
                softname,datatype = win32api.RegQueryValueEx(softkey,'DisplayName')
            except Exception,e:
                if e[0] ==2:pass
            else:        
                win32api.RegCloseKey(softkey)
                if softwarename.lower() in softname.lower():
                    win32api.RegCloseKey(pyKey)
                    found = True
                    break        
        win32api.RegCloseKey(pyKey)
        return found
        
    if __name__=='__main__':
        softname = 'python'
        if Determine(softname):
            print '"%s" already installed.' % softname
        else:
            print 'nothing found.'
      

  3.   

    先备份注册表,再安装浏览器,当浏览器修改注册表后,比较得到,注册表中的相关KEY。