diff --git a/robotgo.go b/robotgo.go index ab7203f..8408840 100644 --- a/robotgo.go +++ b/robotgo.go @@ -984,3 +984,8 @@ func FindIds(name string) ([]int32, error) { return pids, err } + +// ActivePID window active by PID +func ActivePID(pid int32) { + C.active_PID(C.int32(pid)) +} diff --git a/window/goWindow.h b/window/goWindow.h index 973f537..6d4a90e 100644 --- a/window/goWindow.h +++ b/window/goWindow.h @@ -57,6 +57,19 @@ void aSetActive(const MData win){ SetActive(win); } +void active_PID(int32 pid){ + MData win; + #if defined(IS_MACOSX) + // Handle to a AXUIElementRef + win.AxID = AXUIElementCreateApplication(pid); + #elif defined(USE_X11) + win.XWin = Window(pid); // Handle to an X11 window + #elif defined(IS_WINDOWS) + win.HWnd = HWND(pid); // Handle to a window HWND + #endif + SetActive(win); +} + MData aGetActive(){ MData mdata = GetActive(); return mdata;