diff --git a/window/goWindow.h b/window/goWindow.h index 3e43233..cd49821 100644 --- a/window/goWindow.h +++ b/window/goWindow.h @@ -10,6 +10,7 @@ #include "alert_c.h" #include "window.h" +#include "win32.h" int show_alert(const char *title, const char *msg, const char *defaultButton, const char *cancelButton){ @@ -57,24 +58,6 @@ bool is_valid(){ // return z; // } -#if defined(IS_WINDOWS) -void win_min(HWND hwnd, bool state){ - if (state) { - ShowWindow(hwnd, SW_MINIMIZE); - } else { - ShowWindow(hwnd, SW_RESTORE); - } -} - -void win_max(HWND hwnd, bool state){ - if (state) { - ShowWindow(hwnd, SW_MAXIMIZE); - } else { - ShowWindow(hwnd, SW_RESTORE); - } -} -#endif - void min_window(uintptr pid, bool state, uintptr isHwnd){ #if defined(IS_MACOSX) // return 0; @@ -142,34 +125,6 @@ void set_active(const MData win){ SetActive(win); } -#if defined(IS_WINDOWS) - typedef struct{ - HWND hWnd; - DWORD dwPid; - }WNDINFO; - - BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam){ - WNDINFO* pInfo = (WNDINFO*)lParam; - DWORD dwProcessId = 0; - GetWindowThreadProcessId(hWnd, &dwProcessId); - - if (dwProcessId == pInfo->dwPid) { - pInfo->hWnd = hWnd; - return FALSE; - } - return TRUE; - } - - HWND GetHwndByPId(DWORD dwProcessId){ - WNDINFO info = {0}; - info.hWnd = NULL; - info.dwPid = dwProcessId; - EnumWindows(EnumWindowsProc, (LPARAM)&info); - // printf("%d\n", info.hWnd); - return info.hWnd; - } -#endif - void active_PID(uintptr pid, uintptr isHwnd){ MData win; #if defined(IS_MACOSX) diff --git a/window/win32.h b/window/win32.h new file mode 100644 index 0000000..b13dded --- /dev/null +++ b/window/win32.h @@ -0,0 +1,46 @@ +// #include "../base/os.h" + +#if defined(IS_WINDOWS) + typedef struct{ + HWND hWnd; + DWORD dwPid; + }WNDINFO; + + BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam){ + WNDINFO* pInfo = (WNDINFO*)lParam; + DWORD dwProcessId = 0; + GetWindowThreadProcessId(hWnd, &dwProcessId); + + if (dwProcessId == pInfo->dwPid) { + pInfo->hWnd = hWnd; + return FALSE; + } + return TRUE; + } + + HWND GetHwndByPId(DWORD dwProcessId){ + WNDINFO info = {0}; + info.hWnd = NULL; + info.dwPid = dwProcessId; + EnumWindows(EnumWindowsProc, (LPARAM)&info); + // printf("%d\n", info.hWnd); + return info.hWnd; + } + + // window + void win_min(HWND hwnd, bool state){ + if (state) { + ShowWindow(hwnd, SW_MINIMIZE); + } else { + ShowWindow(hwnd, SW_RESTORE); + } + } + + void win_max(HWND hwnd, bool state){ + if (state) { + ShowWindow(hwnd, SW_MAXIMIZE); + } else { + ShowWindow(hwnd, SW_RESTORE); + } + } +#endif \ No newline at end of file