|  |  | @ -7,7 +7,6 @@ import ( | 
			
		
	
		
			
				
					|  |  |  | 	"os" | 
			
		
	
		
			
				
					|  |  |  | 	"os/exec" | 
			
		
	
		
			
				
					|  |  |  | 	"runtime" | 
			
		
	
		
			
				
					|  |  |  | 	"syscall" | 
			
		
	
		
			
				
					|  |  |  | ) | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | func main() { | 
			
		
	
	
		
			
				
					|  |  | @ -38,23 +37,11 @@ func toFile(fileName, str string) { | 
			
		
	
		
			
				
					|  |  |  | 	_ = sqlObj.Close() | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | // PathExists 判断文件夹是否存在
 | 
			
		
	
		
			
				
					|  |  |  | func PathExists(path string) (bool, error) { | 
			
		
	
		
			
				
					|  |  |  | 	_, err := os.Stat(path) | 
			
		
	
		
			
				
					|  |  |  | 	if err == nil { | 
			
		
	
		
			
				
					|  |  |  | 		return true, nil | 
			
		
	
		
			
				
					|  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  | 	if os.IsNotExist(err) { | 
			
		
	
		
			
				
					|  |  |  | 		return false, nil | 
			
		
	
		
			
				
					|  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  | 	return false, err | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | func onReady() { | 
			
		
	
		
			
				
					|  |  |  | 	timezone := "公务员" | 
			
		
	
		
			
				
					|  |  |  | 	_ = systray.SetTitle(timezone) | 
			
		
	
		
			
				
					|  |  |  | 	_ = systray.SetTooltip(timezone) | 
			
		
	
		
			
				
					|  |  |  | 	_ = systray.SetIcon(getIcon("D:\\ViviCode\\golangs_learn\\golang_learn\\data_func\\go_to_tray\\demo04\\main.ico")) | 
			
		
	
		
			
				
					|  |  |  | 	_ = systray.SetIcon(getIcon("/Users/zhangxianwei/GolandProjects/golangs_learn/golang_learn/data_func/go_to_tray/demo04/main.ico")) | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	dbMenu := systray.AddSubMenu("数据服务") | 
			
		
	
		
			
				
					|  |  |  | 	startDbMenu := dbMenu.AddSubMenuItem("启动", "启动 - 数据库服务", 0) | 
			
		
	
	
		
			
				
					|  |  | @ -131,9 +118,7 @@ func OpenUrl(url string) error { | 
			
		
	
		
			
				
					|  |  |  | 		cmd = "xdg-open" | 
			
		
	
		
			
				
					|  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  | 	args = append(args, url) | 
			
		
	
		
			
				
					|  |  |  | 	c := exec.Command(cmd, args...) | 
			
		
	
		
			
				
					|  |  |  | 	c.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} | 
			
		
	
		
			
				
					|  |  |  | 	return c.Start() | 
			
		
	
		
			
				
					|  |  |  | 	return runExec(cmd, args...).Start() | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | // OpenServe 打开服务
 | 
			
		
	
	
		
			
				
					|  |  | @ -159,9 +144,7 @@ func OpenServe(isDb bool) error { | 
			
		
	
		
			
				
					|  |  |  | 			args = []string{"-c", "cd", "shell", "&&", "startCX.sh"} | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  | 	c := exec.Command(cmd, args...) | 
			
		
	
		
			
				
					|  |  |  | 	c.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} | 
			
		
	
		
			
				
					|  |  |  | 	return c.Start() | 
			
		
	
		
			
				
					|  |  |  | 	return runExec(cmd, args...).Start() | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | // CloseServe 停止服务
 | 
			
		
	
	
		
			
				
					|  |  | @ -187,7 +170,12 @@ func CloseServe(isDb bool) error { | 
			
		
	
		
			
				
					|  |  |  | 			args = []string{"-c", "cd", "shell", "&&", "stopCX.sh"} | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  | 	return runExec(cmd, args...).Start() | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | func runExec(cmd string, args ...string) *exec.Cmd { | 
			
		
	
		
			
				
					|  |  |  | 	c := exec.Command(cmd, args...) | 
			
		
	
		
			
				
					|  |  |  | 	c.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} | 
			
		
	
		
			
				
					|  |  |  | 	return c.Start() | 
			
		
	
		
			
				
					|  |  |  | 	// TODO windows 需要放开,其他系统 需要隐藏
 | 
			
		
	
		
			
				
					|  |  |  | 	// c.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
 | 
			
		
	
		
			
				
					|  |  |  | 	return c | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
	
		
			
				
					|  |  | 
 |