Golang语言社区 您所在的位置:网站首页 c语言控制电脑关机 Golang语言社区

Golang语言社区

2024-06-28 18:56| 来源: 网络整理| 查看: 265

大家好,我是Golang语言社区主编彬哥,这篇给大家带来关于Go语言操作cmd命令执行windows平台的相关操作

1 关机、重启:代码语言:go复制// 关闭计算机 func ShutDownEXE() { fmt.Println("关闭主机") arg := []string{"-s", "-t", "20"} cmd := exec.Command("shutdown", arg...) d, err := cmd.CombinedOutput() if err != nil { fmt.Println("Error:", err) return } fmt.Println(string(d)) return } // 重启计算机 func ReShutDownEXE() { fmt.Println("重启主机") arg := []string{"-r", "-t", "20"} cmd := exec.Command("shutdown", arg...) d, err := cmd.CombinedOutput() if err != nil { fmt.Println("Error:", err) return } fmt.Println(string(d)) return }2 根据进程名字kill进程:代码语言:go复制// kill调进程 参数---taskkill /im notepad.exe /T /F // 参数说明:strGameName为需要kill的进程的名字 func KillEXE(strGameName string) bool { fmt.Println("kill调进程游戏:", strGameName) strGameName = strGameName + ".exe" arg := []string{"/im", strGameName} cmd := exec.Command("taskkill", arg...) if err := cmd.Run(); err != nil { fmt.Println("Error: ", err) } return true }3 操作注册表,实现程序开机启动代码语言:go复制//假如你要运行的程序名字为:"autorun.exe"使用命令为 //"reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v AUTORUN /t REG_SZ /d C:\autorun.exe /f" //(不包括引号)其中"C:\autorun.exe"为目标程序的路径.按着这样的命令就可以将你的程序添加到启动项中了 // RunEXE 参数---reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v AUTORUN /t REG_SZ /d C:\autorun.exe /f func RunEXE() { fmt.Println("开机启动") strEXEName = "C:\\Windows\\System32\\auto.vbs" // 需要启动文件的路径文件 arg := []string{"add", "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", "/v", "auto", "/t", "REG_SZ", "/d", strEXEName, "/f"} cmd := exec.Command("reg", arg...) d, err := cmd.CombinedOutput() if err != nil { fmt.Println("Error:", err) return } fmt.Println(string(d)) return }4 实现启动执行程序隐藏进程(auto.bat文件就不给大家展示了,网上可以找到)代码语言:go复制// 隐藏调进程 参数---start /b notepad.exe func YinCangEXE(strEXEName string) { fmt.Println("隐藏进程") cmd := exec.Command("auto.bat") d, err := cmd.CombinedOutput() if err != nil { fmt.Println("Error:", err) return } fmt.Println(string(d)) return }5 启动执行文件代码语言:go复制// 启动exe // 参数 strGameName 启动的执行文件的名字;strIPandPort 传递给exe的参数 func CallEXE(strGameName string, strIPandPort string) { fmt.Println("CallEXE 开始启动游戏") arg := []string{strGameName, strIPandPort} fmt.Println("------------", arg) strPath := getCurrentPath() strPath = strPath + "\\TSTX\\" + strGameName // 路径 cmd := exec.Command(strPath, arg...) if err := cmd.Run(); err != nil { fmt.Println("Error: ", err) return } return } // 获取当前目录 func getCurrentPath() string { s, _ := exec.LookPath(os.Args[0]) i := strings.LastIndex(s, "\\") path := string(s[0 : i+1]) PathData = path return path }

最后总结,技术是一把双刃剑,一定要用到对人类有意义的方面



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有