我怎样才能通过执行我的sc
命令exec.Command
?
代码:
cmd := exec.Command("cmd.exe", "sc", "create", "Simpler", "binpath="+os.Getenv("APPDATA")+"\\Simpler\\cc.exe", "displayname=MY SERVICE");
cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true};
out, _ := cmd.Output(); fmt.Println(string(out))
这是我在命令提示符下得到的(在当前命令提示符中打开命令提示符-_-):
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
C:\WINDOWS\system32>cd c:\prog\logs
c:\prog\logs>go build test.go
c:\prog\logs>test.exe
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
c:\prog\logs>
c:\prog\logs>
后面的命令无法执行。我什么也得不到!问题出在哪里?
如果我在当前命令提示符下执行命令已启动sc.exe
,但如果我在新命令提示符下执行则未启动。
也就是说,如果我删除第一个参数"cmd.exe"
,我的程序会以异常结果成功执行。但是如何在新窗口中执行呢?