From 04c44464961c7ffadd56212283e2ee1baa9ffb0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Thu, 2 Mar 2023 15:08:50 +0800 Subject: [PATCH] fix: linkname --- global/terminal/title.go | 4 ++-- global/terminal/title_windows.go | 25 ++++++++----------------- main.go | 1 + 3 files changed, 11 insertions(+), 19 deletions(-) diff --git a/global/terminal/title.go b/global/terminal/title.go index b2fc8d7..806f1ed 100644 --- a/global/terminal/title.go +++ b/global/terminal/title.go @@ -9,7 +9,7 @@ import ( "github.com/Mrs4s/go-cqhttp/internal/base" ) -func init() { - // 设置标题 +// SetTitle 设置标题为 go-cqhttp `版本` `版权` +func SetTitle() { fmt.Printf("\033]0;go-cqhttp "+base.Version+" © 2020 - %d Mrs4s"+"\007", time.Now().Year()) } diff --git a/global/terminal/title_windows.go b/global/terminal/title_windows.go index 1302db0..098d628 100644 --- a/global/terminal/title_windows.go +++ b/global/terminal/title_windows.go @@ -11,28 +11,19 @@ import ( "github.com/Mrs4s/go-cqhttp/internal/base" ) -var ( - //go:linkname modkernel32 golang.org/x/sys/windows.modkernel32 - modkernel32 *windows.LazyDLL - procSetConsoleTitle = modkernel32.NewProc("SetConsoleTitleW") -) - -//go:linkname errnoErr golang.org/x/sys/windows.errnoErr -func errnoErr(e syscall.Errno) error - -func setConsoleTitle(title string) (err error) { - var p0 *uint16 - p0, err = syscall.UTF16PtrFromString(title) +func setConsoleTitle(title string) error { + p0, err := syscall.UTF16PtrFromString(title) if err != nil { - return + return err } - r1, _, e1 := syscall.Syscall(procSetConsoleTitle.Addr(), 1, uintptr(unsafe.Pointer(p0)), 0, 0) + r1, _, err := windows.NewLazySystemDLL("kernel32.dll").NewProc("SetConsoleTitleW").Call(uintptr(unsafe.Pointer(p0))) if r1 == 0 { - err = errnoErr(e1) + return err } - return + return nil } -func init() { +// SetTitle 设置标题为 go-cqhttp `版本` `版权` +func SetTitle() { _ = setConsoleTitle(fmt.Sprintf("go-cqhttp "+base.Version+" © 2020 - %d Mrs4s", time.Now().Year())) } diff --git a/main.go b/main.go index 90f5b20..a63f864 100644 --- a/main.go +++ b/main.go @@ -14,6 +14,7 @@ import ( ) func main() { + terminal.SetTitle() gocq.InitBase() _ = terminal.DisableQuickEdit() _ = terminal.EnableVT100()