| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- package browser
- import (
- "fmt"
- "gbase/glog"
- "golang.org/x/sys/windows/registry"
- "os"
- "path/filepath"
- "strconv"
- "strings"
- )
- func GetChromeExePath() (path string, err error) {
- key, err := registry.OpenKey(registry.LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\chrome.exe\\", registry.READ)
- if err != nil {
- glog.XWarning(fmt.Sprintf("GetChromeExePath OpenKey error : %v\n", err))
- return
- }
- defer key.Close()
- path, _, err = key.GetStringValue("Path")
- if err != nil {
- glog.XWarning(fmt.Sprintf("GetChromeExePath GetStringValue error : %v\n", err))
- return
- }
- if path[len(path)-len("chrome.exe"):] != "chrome.exe" {
- path = filepath.Join(path, "chrome.exe")
- }
- return
- }
- // @title GetChromeUserDataDir
- // @description 获取windows当前用户的chrome用户目录
- // @param
- // @return chromeuserDataDir string
- func GetChromeUserDataDir() string {
- userHome, _ := os.UserHomeDir()
- return filepath.Join(userHome, "/AppData/Local/Google/Chrome/User Data/Default")
- }
- // CheckChromeInstalled 检查是否安装了chrome
- func CheckChromeInstalled() bool {
- key, err := registry.OpenKey(registry.CURRENT_USER, "Software\\Google\\Chrome", registry.READ)
- if err != nil {
- glog.XWarning(fmt.Sprintf("CheckChromeInstalled OpenKey error : %v\n", err))
- return false
- }
- if key != 0 {
- return true
- }
- //fmt.Printf("key=====>%v\n", key)
- return false
- }
- // GetChromeVersionFromRegedit 从注册表获取chrome的版本
- func GetChromeVersionFromRegedit() int {
- ChromeVersion := 90
- key, err := registry.OpenKey(registry.CURRENT_USER, "Software\\Google\\Chrome\\BLBeacon", registry.READ)
- if err != nil {
- glog.XWarning(fmt.Sprintf("GetChromeVersionFromRegedit OpenKey error : %v\n", err))
- return ChromeVersion
- }
- defer key.Close()
- version, _, err := key.GetStringValue("version")
- if err != nil {
- glog.XWarning(fmt.Sprintf("GetChromeVersionFromRegedit OpenKey error : %v\n", err))
- return ChromeVersion
- }
- fmt.Printf("version======>%v\n", version)
- rets := strings.Split(version, ".")
- if len(rets) > 0 {
- ChromeVersion, _ = strconv.Atoi(rets[0])
- }
- fmt.Printf("ChromeVersion======>%v\n", ChromeVersion)
- return ChromeVersion
- }
|