mirror of
https://github.com/go-vgo/robotgo.git
synced 2025-06-01 14:43:55 +00:00
add win32.h file
This commit is contained in:
parent
b6c5583f19
commit
b13ad7986e
@ -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)
|
||||
|
46
window/win32.h
Normal file
46
window/win32.h
Normal file
@ -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
|
Loading…
Reference in New Issue
Block a user