package main import ( "ProjectWIND/core" "ProjectWIND/wba" "fmt" "log" "os" "syscall" "unsafe" ) var CoreOs = core.GetOS() func main() { // 加载 DLL 文件 dll, err := syscall.LoadDLL("wind.dll") if err != nil { log.Fatalf("加载dll文件失败: %v", err) } // 绑定到 AppInit 函数 appInitProc, err := dll.FindProc("AppInit") if err != nil { log.Fatalf("查找AppInit函数失败: %v", err) } // 调用 AppInit 函数 ret, _, err := appInitProc.Call() if err != nil { log.Fatalf("调用AppInit函数失败: %v", err) } // 处理 AppInfo appInfo := (*wba.AppInfo)(unsafe.Pointer(ret)) // 使用导入的 AppInfo // 打印 AppInfo 数据 fmt.Printf("App Name: %s\n", appInfo.Name) fmt.Printf("Author: %s\n", appInfo.Author) fmt.Printf("Version: %s\n", appInfo.Version) fmt.Printf("Description: %s\n", appInfo.Description) fmt.Printf("Namespace: %s\n", appInfo.Namespace) fmt.Printf("Web URL: %s\n", appInfo.WebUrl) fmt.Printf("License: %s\n", appInfo.License) //如果没有参数,则启动WebUI if len(os.Args) <= 1 { initCore() fmt.Println("请修改配置文件后,使用-p参数连接协议端开始运行。") return } cmdArgs := os.Args[1:] if cmdArgs[0] == "-h" || cmdArgs[0] == "--help" { fmt.Printf(logo) fmt.Printf("%v\n", helpDoc) return } if cmdArgs[0] == "-r" || cmdArgs[0] == "--run" { // 启动服务 startWebUI() return } if cmdArgs[0] == "-i" || cmdArgs[0] == "--init" { // 初始化项目 initCore() return } if cmdArgs[0] == "-v" || cmdArgs[0] == "--version" { // 显示版本信息 fmt.Printf(logo) fmt.Printf("%v \n架构:%v\n", version, CoreOs.String()) return } if cmdArgs[0] == "-s" || cmdArgs[0] == "--service" { // 注册Linux服务并启动 registerService() return } if cmdArgs[0] == "-p" || cmdArgs[0] == "--protocol" { // 连接到协议端 go AutoSave() startProtocol() return } if cmdArgs[0] == "-d" || cmdArgs[0] == "--database" { // 连接到数据库 startDatabase() return } fmt.Println("未知命令,请使用-h查看帮助。") return }