Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Melaksanakan Kekunci Panas Global dalam Go?
Laksanakan Global Hotkey in Go (golang)
Adalah mungkin untuk mencipta hotkey global merentas platform menggunakan panggilan ke pengikatan OS asli dalam Go.
Mac
Gunakan addGlobalMonitorForEventsMatchingMask.
Linux
Gunakan X🎜>
Windows
Gunakan RegisterHotKey. Berikut ialah contoh dalam Go:const ( ModAlt = 1 << iota ModCtrl ModShift ModWin ) type Hotkey struct { Id int Modifiers int KeyCode int } func main() { user32 := syscall.MustLoadDLL("user32") reghotkey := user32.MustFindProc("RegisterHotKey") keys := map[int16]*Hotkey{ 1: &Hotkey{1, ModAlt + ModCtrl, 'O'}, 2: &Hotkey{2, ModAlt + ModShift, 'M'}, 3: &Hotkey{3, ModAlt + ModCtrl, 'X'}, } for _, v := range keys { r1, _, _ := reghotkey.Call(0, uintptr(v.Id), uintptr(v.Modifiers), uintptr(v.KeyCode)) if r1 == 1 { fmt.Println("Registered", v) } else { fmt.Println("Failed to register", v) } } for { var msg = &MSG{} peekmsg := user32.MustFindProc("PeekMessageW") peekmsg.Call(uintptr(unsafe.Pointer(msg)), 0, 0, 0, 1) if id := msg.WPARAM; id != 0 { fmt.Println("Hotkey pressed:", keys[id]) if id == 3 { fmt.Println("CTRL+ALT+X pressed, goodbye...") return } } time.Sleep(time.Millisecond * 50) } }Ini akan mendaftarkan kekunci pintas global dan gelung mendengar akan mencetak kekunci pintas yang ditekan ke konsol. Apabila CTRL ALT X ditekan, aplikasi akan keluar.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Kekunci Panas Global dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!