mirror of
https://github.com/ArvinLovegood/go-stock.git
synced 2025-07-19 00:00:09 +08:00
51 lines
1.7 KiB
Go
51 lines
1.7 KiB
Go
//go:build windows
|
||
// +build windows
|
||
|
||
package data
|
||
|
||
import "golang.org/x/sys/windows/registry"
|
||
|
||
// CheckChrome 在 Windows 系统上检查谷歌浏览器是否安装
|
||
func CheckChrome() (string, bool) {
|
||
key, err := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe`, registry.QUERY_VALUE)
|
||
if err != nil {
|
||
// 尝试在 WOW6432Node 中查找(适用于 64 位系统上的 32 位程序)
|
||
key, err = registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe`, registry.QUERY_VALUE)
|
||
if err != nil {
|
||
return "", false
|
||
}
|
||
defer key.Close()
|
||
}
|
||
defer key.Close()
|
||
path, _, err := key.GetStringValue("Path")
|
||
//logger.SugaredLogger.Infof("Chrome安装路径:%s", path)
|
||
if err != nil {
|
||
return "", false
|
||
}
|
||
return path + "\\chrome.exe", true
|
||
}
|
||
|
||
// CheckBrowser 在 Windows 系统上检查Edge浏览器是否安装,并返回安装路径
|
||
func CheckBrowser() (string, bool) {
|
||
if path, ok := checkChromeOnWindows(); ok {
|
||
return path, true
|
||
}
|
||
|
||
key, err := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\msedge.exe`, registry.QUERY_VALUE)
|
||
if err != nil {
|
||
// 尝试在 WOW6432Node 中查找(适用于 64 位系统上的 32 位程序)
|
||
key, err = registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\App Paths\msedge.exe`, registry.QUERY_VALUE)
|
||
if err != nil {
|
||
return "", false
|
||
}
|
||
defer key.Close()
|
||
}
|
||
defer key.Close()
|
||
path, _, err := key.GetStringValue("Path")
|
||
//logger.SugaredLogger.Infof("Edge安装路径:%s", path)
|
||
if err != nil {
|
||
return "", false
|
||
}
|
||
return path + "\\msedge.exe", true
|
||
}
|