#pragma once class TSWindowsAPI { public: TSWindowsAPI(void); ~TSWindowsAPI(void); public: int retstringlen; DWORD WindowVerion; DWORD IsEuemprosuccess; DWORD npid[MAX_PATH]; bool TSEnumWindow(HWND parent, wchar_t* title, wchar_t* class_name, LONG filter, wchar_t* retstring, wchar_t* process_name = NULL); bool TSEnumWindowSuper(wchar_t* spec1, LONG flag1, LONG type1, wchar_t* spec2, LONG flag2, LONG type2, LONG sort, wchar_t* retstring = NULL); bool TSEnumProcess(wchar_t* name, wchar_t* retstring); bool TSClientToScreen(LONG hwnd, LONG& x, LONG& y); bool TSFindWindow(wchar_t* class_name, wchar_t* title, LONG& rethwnd, DWORD parent = 0); bool TSFindWindowByProcess(wchar_t* class_name, wchar_t* titl, LONG& rethwnd, wchar_t* process_name = NULL, DWORD Pid = 0); bool TSGetClientRect(LONG hwnd, LONG& x, LONG& y, LONG& x1, LONG& y1); bool TSGetClientSize(LONG hwnd, LONG& width, LONG& height); bool TSGetMousePointWindow(LONG& rethwnd, LONG x = -1, LONG y = -1); bool TSGetProcessInfo(LONG pid, wchar_t* retstring); bool TSGetWindow(LONG hwnd, LONG flag, LONG& rethwnd); bool GetProcesspath(DWORD ProcessID, wchar_t* process_path); bool TSGetWindowState(LONG hwnd, LONG flag); bool TSSendPaste(LONG hwnd); bool TSSetWindowSize(LONG hwnd, LONG width, LONG hight, int type = 0); bool TSSetWindowState(LONG hwnd, LONG flag, LONG rethwnd = 0); bool TSSetWindowTransparent(LONG hwnd, LONG trans); bool TSSetClipboard(wchar_t* values); bool TSGetClipboard(wchar_t* retstr); private: DWORD FindChildWnd(HWND hchile, wchar_t* title, wchar_t* classname, wchar_t* retstring, bool isGW_OWNER = false, bool isVisible = false, wchar_t* process_name = NULL); BOOL EnumProcessbyName(DWORD dwPID, LPCWSTR ExeName, LONG type = 0); int GetProcessNumber();//获取CPU个数 // 时间格式转换 __int64 FileTimeToInt64(const FILETIME& time); double get_cpu_usage(DWORD ProcessID); //获取指定进程CPU使用率 DWORD GetMemoryInfo(DWORD ProcessID); //或者指定进程内存使用率 };