英文:
Go - how can i do this python code in go code?
问题
你好!以下是使用Go语言实现相同功能的示例代码:
package main
import (
"fmt"
"os/exec"
"runtime"
"time"
)
func main() {
var cmd *exec.Cmd
if runtime.GOOS == "windows" {
cmd = exec.Command("cmd", "/C", "start", "chrome")
} else if runtime.GOOS == "darwin" {
cmd = exec.Command("open", "-a", "Google Chrome")
} else {
fmt.Println("Unsupported operating system")
return
}
err := cmd.Start()
if err != nil {
fmt.Println("Failed to start Chrome:", err)
return
}
time.Sleep(100 * time.Millisecond)
err = cmd.Process.Signal(os.Interrupt)
if err != nil {
fmt.Println("Failed to activate Chrome window:", err)
return
}
time.Sleep(100 * time.Millisecond)
err = exec.Command("cmd", "/C", "echo www.stackoverflow.com | clip").Run()
if err != nil {
fmt.Println("Failed to copy URL to clipboard:", err)
return
}
time.Sleep(100 * time.Millisecond)
err = exec.Command("cmd", "/C", "start", "chrome", "--new-window").Run()
if err != nil {
fmt.Println("Failed to open new Chrome window:", err)
return
}
time.Sleep(4 * time.Second)
err = exec.Command("cmd", "/C", "start", "chrome", "--new-window", "--kiosk").Run()
if err != nil {
fmt.Println("Failed to enter full screen mode:", err)
return
}
}
请注意,此示例代码仅适用于Windows和Mac操作系统。如果您使用其他操作系统,需要根据具体情况进行修改。此外,您可能需要安装Go语言的相关依赖库。
希望对您有所帮助!如果您有任何其他问题,请随时提问。
英文:
How can i do this in Go language please? I have used Python 2.7, pywin32 for the win32com and the following code which works to trigger virtual keyboard press.
Python code works:
import time
import win32com
import win32com.client
shell = win32com.client.Dispatch('WScript.Shell')
shell.Run('chrome')
time.sleep(0.1)
shell.AppActivate('chrome')
shell.SendKeys("www.stackoverflow.com", 0)
shell.SendKeys("{Enter}", 0)
time.sleep(4)
shell.SendKeys("{F11}", 0)
i am actually trying the same Python code in Go (for Windows and Mac), can anyone give me any example how exactly this can be done with Go?
答案1
得分: 2
这不涉及到win32调用部分,我假设你可以通过syscall包来实现,就像这个例子中的https://github.com/AllenDang/w32一样。
至于以全屏模式启动Chrome,你可以通过快捷方式来实现,或者如果你真的想通过Go来实现,可以使用以下代码:
package main
import "os/exec"
func main(){
chrome := "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"
cmd := exec.Command(chrome,"--chrome-frame","--kiosk","http://www.ibm.com")
err := cmd.Start()
if err != nil {
println("Failed to start chrome:", err)
}
}
英文:
This doesn't answer the win32 calls part, I assume you can do that via the syscall package, as in https://github.com/AllenDang/w32
As for launching chrome in full screen mode, you can do from a shortcut or if you really want to do it from go, you can do: Play (can't run there)
package main
import "os/exec"
func main(){
chrome := "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"
cmd := exec.Command(chrome,"--chrome-frame","--kiosk","http://www.ibm.com")
err := cmd.Start()
if err != nil {
println("Failed to start chrome:", err)
}
}
答案2
得分: 0
win32 ole实现的golang版本
https://github.com/go-ole/go-ole
英文:
win32 ole implementation for golang
https://github.com/go-ole/go-ole
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论