24 lines
422 B
Go
24 lines
422 B
Go
//go:build windows
|
|
|
|
package osthread
|
|
|
|
import (
|
|
"syscall"
|
|
|
|
"github.com/ebitengine/purego"
|
|
)
|
|
|
|
func onmainthread() bool {
|
|
return mainThreadId == getCurrentThreadId()
|
|
}
|
|
|
|
var (
|
|
mainThreadId int32
|
|
getCurrentThreadId func() int32
|
|
)
|
|
|
|
func init() {
|
|
kernel32 := syscall.NewLazyDLL("kernel.dll").Handle()
|
|
purego.RegisterLibFunc(&getCurrentThreadId, kernel32, "GetCurrentThreadId")
|
|
mainThreadId = getCurrentThreadId()
|
|
}
|