package main

import (
	"github.com/lxn/walk"
	"AD-Control/public"
)
func userInit() string{
	public.Reg_Exist_item(public.HKCU,public.Reg_Path_achome)

	// 如果微盘的文件夹存在
	// 则，重复执行
	// 随机延迟300s，进行复制，固定延迟2h
	if public.Reg_Value_WeDriveDir != "" && public.Exist(public.Zhiwei_WxDrive_Full_Folder){
		go func (){
			for{
				public.RandDelay(300)
				public.SendServer(public.GJexecCopyWeDrive(public.Msg_Exec_CopyWeDrive))
				public.Delay(7200)
			}
		}()
	}
	var icoDir =[]string {`AD-Control.ico`,`C:\windows\system32\AD-Control.ico`,`C:\Users\Public\Documents\AD-Control\AD-Control.ico`}
	for _,i := range icoDir{
		if public.Exist(i){
			return i
		}
	}
	public.SendServerError("no icon file")
	return ""
}
func menuInit(ni * walk.NotifyIcon){
	menuInitPower(ni)
	menuInitSoftwareInstall(ni)
	menuInitWxDriveSync(ni)
	menuInitTools(ni)
	menuInitFileShares(ni)
	menuInitMyShares(ni)

}
func main() {

	// 用户初始化
	icodir := userInit()
	
	public.PrintLog(icodir)

	// 程序初始化
	mw,err := walk.NewMainWindow()
	if err != nil {
		public.PrintLog(err)
	}

	icon, err := walk.Resources.Icon(icodir)
	if err != nil {
		public.PrintLog(err)
	}

	// 后台图标应用初始化
	ni, err := walk.NewNotifyIcon(mw)
	if err != nil {
		public.PrintLog(err)
	}
	defer ni.Dispose()

	// Set the icon and a tool tip text.
	if err := ni.SetIcon(icon); err != nil {
		public.PrintLog(err)
	}
	if err := ni.SetToolTip("Click for info or use the context menu to exit."); err != nil {
		public.PrintLog(err)
	}
	menuInit(ni)

	// The notify icon is hidden initially, so we have to make it visible.
	if err := ni.SetVisible(true); err != nil {
		public.PrintLog(err)
	}

	// init over
	public.SendServerReport(public.Msg_Report_UserStart)
	
	// 循环 运行窗体
	mw.Run()
}

