前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Golang语言社区】GO语言启动exe文件并传递参数

【Golang语言社区】GO语言启动exe文件并传递参数

作者头像
李海彬
发布2018-03-27 11:44:09
5K0
发布2018-03-27 11:44:09
举报
文章被收录于专栏:Golang语言社区
大家好,我是社区主编彬哥,今天给大家带来的是关于go语言命令调用本地的exe,并传递参数启动,代码如下:
代码语言:javascript
复制
package main
import (
        "flag"
        "fmt"
        "glog-master"
        "net/http"
        //"os"
        "os/exec"
)
func init() {
        // 初始化 日志系统
        flag.Set("alsologtostderr", "true") // 日志写入文件的同时,输出到stderr
        flag.Set("log_dir", "./log")        // 日志文件保存目录
        flag.Set("v", "3")                  // 配置V输出的等级。
        flag.Parse()
        return
}
// 主函数
func main() {
        //fmt.Print(os.Args[1:])
        glog.Info("Entry main!!!")
        http.HandleFunc("/DuliServer", DuLiServer) // 独立验证
        err := http.ListenAndServe(":8365", nil)
        if err != nil {
                fmt.Println("Entry nil", err.Error())
                return
        }
        return
}
//func main() {
//        fmt.Println("启动游戏成功")
//        glog.Info("Entry main!!!")
//        fmt.Print(os.Args[1:])
//        fmt.Printf(flag.Arg(1))
//        glog.Info("....", flag.Arg(1))
//        glog.Flush()
//        // 正式的
//        http.ListenAndServe(":8364", nil)
//        return
//}
// 独立服务器
func DuLiServer(w http.ResponseWriter, req *http.Request) {
        if req.Method == "GET" {
                w.Header().Set("Access-Control-Allow-Origin", "*")
                req.ParseForm()
                // 获取函数
                strLoginName, bLoginName := req.Form["LoginName"]
                strLoginPW, bLoginPW := req.Form["LoginPW"]
                strGameName, bGameName := req.Form["GameName"]
                strXCName, bXCName := req.Form["XCName"]
                if bLoginPW && bLoginName && bGameName && bXCName {
                        fmt.Println("strLoginName:", strLoginName)
                        fmt.Println("strLoginPW", strLoginPW)
                        fmt.Println("strGameName:", strGameName)
                        fmt.Println("strXCName", strXCName)
                        fmt.Fprint(w, "发送成功!!!")
                        // 发送给游戏
                        CallEXE("F:gocode\\code\\openCV\\bin\\Game.exe")
                        return
                }
                fmt.Fprint(w, "启动失败,参数不对!!!")
                return
        }
}
// 启动exe
func CallEXE(strGameName string) {
        fmt.Println("开始启动游戏。。。")
        arg := []string{"参数一", "参数二"}
        fmt.Println("------------", arg)
        //        cmd := exec.Command("F:\\最新版本游戏\\test1\\test\\test.exe", arg...)
        cmd := exec.Command("Game.exe", arg...)
        _, err := cmd.CombinedOutput()
        if err != nil {
                fmt.Println("Error:", err)
                return
        }
        return
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-07-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档