Go - 如何检测Windows或Mac桌面屏幕是横向还是纵向模式?

时间:2014-01-28 05:31:27

标签: windows macos go

使用Go,我如何检测Windows或Mac PC是处于横向还是纵向模式? 这是一个下面的例子,我需要阅读布局的动作,如果它的风景或肖像。

package main

import "os/exec"
import "runtime"
import "fmt"

const url = "http://localhost:8080/demo1?action=landscape"


func main() {      
  myos := runtime.GOOS
  /////------------------> Detect the landscape or portrait of the screen???


  if myos == "windows" {
    chrome := "C:/Program Files/Google/Chrome/Application/chrome.exe"
    cmd := exec.Command(chrome, "--chrome-frame", "--kiosk", url)
    err := cmd.Start()
    if err != nil {
      // 64-bit
      //println("Failed to start chrome:", err)
      chrome := "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"
      cmd := exec.Command(chrome, "--chrome-frame", "--kiosk", url)
      cmd.Start()       
    } 

  } else if myos == "darwin" {
    // open -b com.google.Chrome --args <which args to pass to Chrome>
    // "/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome"
    //chrome := "/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome"
    cmd := exec.Command("open", "-b" , "com.google.Chrome", "--args", "--chrome-frame", "--kiosk", url)
    err := cmd.Start()
    if err != nil {
      fmt.Println("failed")
    } 

  } else {
    //Linux    
    chrome := "google-chrome"
    cmd := exec.Command(chrome, "--chrome-frame", "--kiosk", url)
    err := cmd.Start()
    if err != nil {
      fmt.Println("failed")
    }

  }

}

1 个答案:

答案 0 :(得分:1)

再一次,不能直接回答你的问题,但可以解决你的问题。

有关说明,请参阅this。您真正需要做的就是通过javascript检查窗口的尺寸,并使用正确的args重新加载页面。

如果身高&gt;宽度,它是肖像模式,否则它是风景