go语言调用cmd命令时隐藏dos窗口的方法
这篇文章将为大家详细讲解有关go语言调用cmd命令时隐藏dos窗口的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
通过go的标准库exec调用cmd命令时会闪弹黑窗口,为解决此问题在windows下可以用win32 API 的 WinExec
。
此问题主要出现在带UI或无控制台的程序调用cmd时。
编译go时加入参数:
go build -ldflags="-H windowsgui"
package mainimport ("errors"")import ( "github.com/CodyGuo/win")var (winExecError = map[uint32]string{0: "The system is out of memory or resources.",2: "The .exe file is invalid.",3: "The specified file was not found.",11: "The specified path was not found.",})func main() {err := execRun("cmd /c start http://www.baidu.com")if err != nil {log.Fatal(err)}}func execRun(cmd string) error {lpCmdLine := win.StringToBytePtr(cmd)//http://baike.baidu.com/link?url=51sQomXsIt6OlYEAV74YZ0JkHDd2GbmzXcKj_4H1R4ILXvQNf3MXIscKnAkSR93e7Fyns4iTmSatDycEbHrXzqret := win.WinExec(lpCmdLine, win.SW_HIDE)if ret <= 31 { return errors.New(winExecError[ret])}return nil}
以上就是go语言调用cmd命令时隐藏dos窗口的方法,详细使用情况还需要大家自己亲自动手使用过才能领会。如果想了解更多相关内容,欢迎关注亿速云行业资讯频道!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。