diff --git a/go.mod b/go.mod index 98d2c4b9..c48484c9 100644 --- a/go.mod +++ b/go.mod @@ -40,6 +40,7 @@ require ( github.com/wdvxdr1123/ZeroBot v1.6.9 gitlab.com/gomidi/midi/v2 v2.0.25 golang.org/x/image v0.3.0 + golang.org/x/sys v0.4.0 golang.org/x/text v0.6.0 gopkg.in/yaml.v3 v3.0.1 ) @@ -85,7 +86,6 @@ require ( golang.org/x/mobile v0.0.0-20201217150744-e6ae53a27f4f // indirect golang.org/x/mod v0.6.0 // indirect golang.org/x/net v0.4.0 // indirect - golang.org/x/sys v0.4.0 // indirect golang.org/x/tools v0.2.0 // indirect modernc.org/libc v1.21.5 // indirect modernc.org/mathutil v1.5.0 // indirect diff --git a/main_windows.go b/main_windows.go index 4fdd5f25..c65c61d8 100644 --- a/main_windows.go +++ b/main_windows.go @@ -11,15 +11,17 @@ import ( func init() { k32 := windows.NewLazySystemDLL("kernel32.dll") getstdhandle := k32.NewProc("GetStdHandle") - h, _, err := getstdhandle.Call(uintptr(0xffffffff_fffffff6)) // STD_INPUT_HANDLE = ((DWORD)-10) + magic := -10 + h, _, err := getstdhandle.Call(uintptr(magic)) // STD_INPUT_HANDLE = ((DWORD)-10) if int(h) == 0 || int(h) == -1 { panic(err) } + magic-- h, _, err = k32.NewProc("SetConsoleMode").Call(h, uintptr(0x02a7)) // 禁用快速编辑 if h == 0 { panic(err) } - h, _, err = getstdhandle.Call(uintptr(0xffffffff_fffffff5)) // STD_OUTPUT_HANDLE = ((DWORD)-11) + h, _, err = getstdhandle.Call(uintptr(magic)) // STD_OUTPUT_HANDLE = ((DWORD)-11) if int(h) == 0 || int(h) == -1 { panic(err) }