add Windows taskbar control buttons (TODO: icons)

This commit is contained in:
Drew Weymouth
2025-08-08 19:15:46 -07:00
committed by Drew Weymouth
parent 21edd38f38
commit aedaa32de4
10 changed files with 158 additions and 14 deletions
+29
View File
@@ -0,0 +1,29 @@
//go:build windows
package windows
/*
#cgo LDFLAGS: -lole32
#include "taskbar_buttons.h"
extern void goButtonClicked(int);
*/
import "C"
import (
"unsafe"
)
var gTaskbarButtonCallback func(TaskbarButton)
func InitializeTaskbarButtons(hwnd uintptr, callback func(TaskbarButton)) error {
gTaskbarButtonCallback = callback
C.initialize_taskbar_buttons(unsafe.Pointer(hwnd), C.ThumbnailCallback(C.goButtonClicked))
return nil
}
//export goButtonClicked
func goButtonClicked(buttonID C.int) {
if gTaskbarButtonCallback != nil {
gTaskbarButtonCallback(TaskbarButton(buttonID))
}
}