From f32ae09772c7e60c0cffe8b653d9c9f3256e8e81 Mon Sep 17 00:00:00 2001 From: vst <929701465@qq.com> Date: Fri, 13 Sep 2024 02:11:49 +0800 Subject: [PATCH] add CMData return and use --- examples/window/main.go | 6 ++++++ robotgo.go | 13 +++++++++++++ 2 files changed, 19 insertions(+) diff --git a/examples/window/main.go b/examples/window/main.go index 5d63145..a71da21 100644 --- a/examples/window/main.go +++ b/examples/window/main.go @@ -34,6 +34,9 @@ func get() { // get current Window Active mdata := robotgo.GetActive() + // get current Window Active , return CMData + cmdata := robotgo.GetActiveCMData() + // get current Window Handle hwnd := robotgo.GetHandle() fmt.Println("hwnd---", hwnd) @@ -44,6 +47,9 @@ func get() { // set Window Active robotgo.SetActive(mdata) + + // set Window Active by CMData + robotgo.SetActiveByCMData(cmdata) } func findIds() { diff --git a/robotgo.go b/robotgo.go index 7c79bd4..4cb1124 100644 --- a/robotgo.go +++ b/robotgo.go @@ -90,6 +90,7 @@ type ( CHex C.MMRGBHex // CBitmap define CBitmap as C.MMBitmapRef type CBitmap C.MMBitmapRef + CMData C.MData ) // Bitmap define the go Bitmap struct @@ -874,6 +875,11 @@ func SetActive(win C.MData) { C.set_active(win) } +// SetActiveByCMData set the window active by CMData +func SetActiveByCMData(win CMData) { + C.set_active((C.MData)(win)) +} + // GetActive get the active window func GetActive() C.MData { mdata := C.get_active() @@ -881,6 +887,13 @@ func GetActive() C.MData { return mdata } +// GetActiveCMData get the active window, return CMData +func GetActiveCMData() CMData { + mdata := C.get_active() + // fmt.Println("active----", mdata) + return (CMData)(mdata) +} + // MinWindow set the window min func MinWindow(pid int, args ...interface{}) { var (