30 lines
618 B
Go
30 lines
618 B
Go
//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))
|
|
}
|
|
}
|