add win32.h file

This commit is contained in:
vcaesar 2018-07-30 00:09:46 +08:00
parent b6c5583f19
commit b13ad7986e
2 changed files with 47 additions and 46 deletions

View File

@ -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
View 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