猿问

Go - 我如何检测用户 PC 是否正在运行一些必备工具,例如 Google Chrome

我怎么能 100% 确定并检查我的应用程序的 Go 执行,1、2 给我真还是假


1) 操作系统 Windows XP, Vista, 7, 8, 32/64-bit OK 如果那台电脑已经安装了 Google Chrome 浏览器?


2) 操作系统 Mac/Apple,是否有 Google Chrome 浏览器?


package main

import "os/exec"

import "runtime"

import "fmt"

import "net/http"

const url = "http://localhsot:9090"


func main() {  

  myos := runtime.GOOS // linux, freebsd, netbsd, openbsd, plan9, darwin, windows

  fmt.Println (runtime.GOARCH) // 386, amd64, arm


  if myos == "windows" {

    if myarch == "386" {

      chrome := "C:/Program Files/Google/Chrome/Application/chrome.exe"

    } else {

      chrome := "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"

    }          

    cmd := exec.Command(chrome, "--chrome-frame", url)

    err := cmd.Start()

    if err != nil {

      println("Failed to start chrome:", err)

    } 


  } else if myos == "darwin" {

    if myarch == "386" {

      cmd := exec.Command("open", "-b" , "com.google.Chrome", "--args", "--chrome-frame", url)

    } else {

      cmd := exec.Command("open", "-b" , "com.google.Chrome", "--args", "--chrome-frame", url)

    }

    err := cmd.Start()

    if err != nil {

      fmt.Println("failed")

    } 


  } else {

    if myarch == "386" {

      chrome := "google-chrome"

    } else {

      chrome := "google-chrome"

    }   


    cmd := exec.Command(chrome, "--chrome-frame", url)

    err := cmd.Start()

    if err != nil {

      fmt.Println("failed")

    }


  }


}



九州编程
浏览 246回答 1
1回答

潇湘沐

在 Windows 中,赢得 7 和高:您可以使用“HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\Google Chrome”来查找安装路径。这实际上来自“HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications”中的“Google Chrome”键。赢 XP 到 vista:您可以从“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\Google Chrome”读取。这个位置我还没有验证,请检查你是否有 xp 机器。对于 Mac:您可以使用 chrome 的包标识符找到 chrome 安装位置(您可以从 info.plist 中找到)。
随时随地看视频慕课网APP

相关分类

Go
我要回答