123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211 |
- // TSPlugInterFace.h : CTSPlugInterFace 的声明
- #pragma once
- #include "resource.h" // 主符号
- #include "TSPlug_i.h"
- #include "DXBind.h"
- #include "TSRuntime.h"
- #include "TSWindowsAPI.h"
- #include "TSMemoryAPI.h"
- #if defined(_WIN32_WCE) && !defined(_CE_DCOM) && !defined(_CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA)
- #error "Windows CE 平台(如不提供完全 DCOM 支持的 Windows Mobile 平台)上无法正确支持单线程 COM 对象。定义 _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA 可强制 ATL 支持创建单线程 COM 对象实现并允许使用其单线程 COM 对象实现。rgs 文件中的线程模型已被设置为“Free”,原因是该模型是非 DCOM Windows CE 平台支持的唯一线程模型。"
- #endif
- // CTSPlugInterFace
- class ATL_NO_VTABLE CTSPlugInterFace :
- public CComObjectRootEx<CComSingleThreadModel>,
- public CComCoClass<CTSPlugInterFace, &CLSID_TSPlugInterFace>,
- public IDispatchImpl<ITSPlugInterFace, &IID_ITSPlugInterFace, &LIBID_TSPlugLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
- {
- public:
- CTSPlugInterFace()
- {
- }
- DECLARE_REGISTRY_RESOURCEID(IDR_TSPLUGINTERFACE)
- BEGIN_COM_MAP(CTSPlugInterFace)
- COM_INTERFACE_ENTRY(ITSPlugInterFace)
- COM_INTERFACE_ENTRY(IDispatch)
- END_COM_MAP()
- DECLARE_PROTECT_FINAL_CONSTRUCT()
- HRESULT FinalConstruct()
- {
- return S_OK;
- }
- void FinalRelease()
- {
- }
- public:
- DXBind gDxObj;
- TSWindowsAPI gWindowObj;
- TSMemoryAPI gMemoryObj;
- STDMETHOD(BindWindow)(LONG hwnd, BSTR display, BSTR mouse, BSTR keypad, LONG mode, LONG* nret);
- STDMETHOD(BindWindowEx)(LONG hwnd, BSTR display, BSTR mouse, BSTR keypad, BSTR publics, LONG mode, LONG* nret);
- STDMETHOD(UnBindWindow)(LONG* nret);
- STDMETHOD(KeyDown)(LONG vk_code, LONG* nret);
- STDMETHOD(KeyUp)(LONG vk_code, LONG* nret);
- STDMETHOD(KeyPress)(LONG vk_code, LONG* nret);
- STDMETHOD(LeftDown)(LONG* nret);
- STDMETHOD(LeftUp)(LONG* nret);
- STDMETHOD(LeftClick)(LONG* nret);
- STDMETHOD(MoveTo)(LONG x, LONG y, LONG* nret);
- STDMETHOD(FindPic)(LONG x1, LONG y1, LONG x2, LONG y2, BSTR pic_name, BSTR delta_color, DOUBLE sim, LONG dir, VARIANT* intX, VARIANT* intY, LONG* nret);
- STDMETHOD(RightClick)(LONG* nret);
- STDMETHOD(RightDown)(LONG* nret);
- STDMETHOD(FindColor)(LONG x1, LONG y1, LONG x2, LONG y2, BSTR color, DOUBLE sim, LONG dir, VARIANT* intX, VARIANT* intY, LONG* nret);
- STDMETHOD(RightUp)(LONG* nret);
- STDMETHOD(GetColor)(LONG x, LONG y, BSTR* RetStrColor);
- STDMETHOD(GetCursorShape)(BSTR* RetCursorShape);
- STDMETHOD(SetPath)(BSTR path, LONG* nret);
- STDMETHOD(TSGuardProtect)(LONG enable, BSTR type, LONG* nret);
- STDMETHOD(KeyPressStr)(BSTR key_str, LONG delay, LONG* nret);
- STDMETHOD(SendString)(LONG hwnd, BSTR str, LONG* nret);
- STDMETHOD(SendString2)(LONG hwnd, BSTR str, LONG* nret);
- STDMETHOD(KeyPressChar)(BSTR key_str, LONG* nret);
- STDMETHOD(KeyDownChar)(BSTR key_str, LONG* nret);
- STDMETHOD(KeyUpChar)(BSTR key_str, LONG* nret);
- STDMETHOD(GetCursorPos)(VARIANT* x, VARIANT* y, LONG* nret);
- STDMETHOD(MoveR)(LONG rx, LONG ry, LONG* rnet);
- STDMETHOD(Ver)(BSTR* retver);
- STDMETHOD(GetPath)(BSTR* retpath);
- STDMETHOD(MiddleClick)(LONG* nret);
- STDMETHOD(WheelDown)(LONG* nret);
- STDMETHOD(WheelUp)(LONG* nret);
- STDMETHOD(Capture)(LONG x1, LONG y1, LONG x2, LONG y2, BSTR file, LONG* nret);
- STDMETHOD(CaptureJpg)(LONG x1, LONG y1, LONG x2, LONG y2, BSTR file, LONG* nret);
- STDMETHOD(CapturePng)(LONG x1, LONG y1, LONG x2, LONG y2, BSTR file, LONG* nret);
- STDMETHOD(LockInput)(LONG lock, LONG* nret);
- STDMETHOD(Ocr)(LONG x1, LONG y1, LONG x2, LONG y2, BSTR color_format, FLOAT sim, BSTR* retstr);
- STDMETHOD(SetDict)(LONG index, BSTR file, LONG* nret);
- STDMETHOD(UseDict)(LONG index, LONG* nret);
- STDMETHOD(ClearDict)(LONG index, LONG* nret);
- STDMETHOD(FindStr)(LONG x1, LONG y1, LONG x2, LONG y2, BSTR string, BSTR color_format, FLOAT sim, VARIANT* intX, VARIANT* intY, LONG* nret);
- STDMETHOD(FindStrFast)(LONG x1, LONG y1, LONG x2, LONG y2, BSTR string, BSTR color_format, FLOAT sim, VARIANT* intX, VARIANT* intY, LONG* nret);
- STDMETHOD(GetNowDict)(LONG* nret);
- STDMETHOD(GetBasePath)(BSTR* retpath);
- STDMETHOD(IsDisplayDead)(LONG x1, LONG y1, LONG x2, LONG y2, LONG t, LONG* bret);
- STDMETHOD(FindPicEx)(LONG x1, LONG y1, LONG x2, LONG y2, BSTR pic_name, BSTR delta_color, DOUBLE sim, LONG dir, BSTR* retstring);
- STDMETHOD(FindStrEx)(LONG x1, LONG y1, LONG x2, LONG y2, BSTR string, BSTR color_format, DOUBLE sim, BSTR* retstring);
- STDMETHOD(FindStrFastEx)(LONG x1, LONG y1, LONG x2, LONG y2, BSTR string, BSTR color_format, DOUBLE sim, BSTR* retstring);
- STDMETHOD(CaptureGif)(LONG x1, LONG y1, LONG x2, LONG y2, BSTR file, LONG delay, LONG time, LONG* nret);
- STDMETHOD(DownCpu)(LONG rate, LONG* nret);
- STDMETHOD(SetKeypadDelay)(BSTR type, LONG delay, LONG* nret);
- STDMETHOD(SetMouseDelay)(BSTR type, LONG delay, LONG* nret);
- STDMETHOD(CmpColor)(LONG x, LONG y, BSTR color, DOUBLE sim, LONG* nret);
- STDMETHOD(SendStringIme)(BSTR str, LONG* nret);
- STDMETHOD(FindColorEx)(LONG x1, LONG y1, LONG x2, LONG y2, BSTR color, DOUBLE sim, LONG dir, BSTR* retstring);
- STDMETHOD(EnumWindow)(LONG parent, BSTR title, BSTR class_name, LONG filter, BSTR* retstr);
- STDMETHOD(EnumWindowByProcess)(BSTR process_name, BSTR title, BSTR class_name, LONG filter, BSTR* retstring);
- STDMETHOD(EnumProcess)(BSTR name, BSTR* retstring);
- STDMETHOD(ClientToScreen)(LONG ClientToScreen, VARIANT* x, VARIANT* y, LONG* bret);
- STDMETHOD(FindWindow)(BSTR class_name, BSTR title, LONG* rethwnd);
- STDMETHOD(FindWindowByProcess)(BSTR process_name, BSTR class_name, BSTR title, LONG* rethwnd);
- STDMETHOD(FindWindowByProcessId)(LONG process_id, BSTR class_name, BSTR title, LONG* rethwnd);
- STDMETHOD(FindWindowEx)(LONG parent, BSTR class_name, BSTR title, LONG* rethwnd);
- STDMETHOD(GetClientRect)(LONG hwnd, VARIANT* x1, VARIANT* y1, VARIANT* x2, VARIANT* y2, LONG* nret);
- STDMETHOD(GetClientSize)(LONG hwnd, VARIANT* width, VARIANT* height, LONG* nret);
- STDMETHOD(GetForegroundFocus)(LONG* rethwnd);
- STDMETHOD(GetForegroundWindow)(LONG* rethwnd);
- STDMETHOD(GetMousePointWindow)(LONG* rethwnd);
- STDMETHOD(GetPointWindow)(LONG x, LONG y, LONG* rethwnd);
- STDMETHOD(GetProcessInfo)(LONG pid, BSTR* retstring);
- STDMETHOD(GetSpecialWindow)(LONG flag, LONG* rethwnd);
- STDMETHOD(GetWindow)(LONG hwnd, LONG flag, LONG* nret);
- STDMETHOD(GetWindowClass)(LONG hwnd, BSTR* retstring);
- STDMETHOD(GetWindowProcessId)(LONG hwnd, LONG* nretpid);
- STDMETHOD(GetWindowProcessPath)(LONG hwnd, BSTR* retstring);
- STDMETHOD(GetWindowRect)(LONG hwnd, VARIANT* x1, VARIANT* y1, VARIANT* x2, VARIANT* y2, LONG* nret);
- STDMETHOD(GetWindowState)(LONG hwnd, LONG flag, LONG* rethwnd);
- STDMETHOD(GetWindowTitle)(LONG hwnd, BSTR* rettitle);
- STDMETHOD(MoveWindow)(LONG hwnd, LONG x, LONG y, LONG* nret);
- STDMETHOD(ScreenToClient)(LONG hwnd, VARIANT* x, VARIANT* y, LONG* nret);
- STDMETHOD(SendPaste)(LONG hwnd, LONG* nret);
- STDMETHOD(SetClientSize)(LONG hwnd, LONG width, LONG hight, LONG* nret);
- STDMETHOD(SetWindowState)(LONG hwnd, LONG flag, LONG* nret);
- STDMETHOD(SetWindowSize)(LONG hwnd, LONG width, LONG height, LONG* nret);
- STDMETHOD(SetWindowText)(LONG hwnd, BSTR title, LONG* nret);
- STDMETHOD(SetWindowTransparent)(LONG hwnd, LONG trans, LONG* nret);
- STDMETHOD(SetClipboard)(BSTR value, LONG* nret);
- STDMETHOD(GetClipboard)(BSTR* retstring);
- STDMETHOD(DoubleToData)(DOUBLE value, BSTR* retstring);
- STDMETHOD(FloatToData)(FLOAT value, BSTR* retstring);
- STDMETHOD(IntToData)(LONG value, LONG type, BSTR* retstring);
- STDMETHOD(StringToData)(BSTR value, LONG type, BSTR* retstring);
- STDMETHOD(FindData)(LONG hwnd, BSTR addr_range, BSTR data, BSTR* retstring);
- STDMETHOD(FindDouble)(LONG hwnd, BSTR addr_range, DOUBLE double_value_min, DOUBLE double_value_max, BSTR* retstring);
- STDMETHOD(FindFloat)(LONG hwnd, BSTR addr_range, FLOAT float_value_min, FLOAT float_value_max, BSTR* retstring);
- STDMETHOD(FindInt)(LONG hwnd, BSTR addr_range, LONG int_value_min, LONG int_value_max, LONG type, BSTR* retstring);
- STDMETHOD(FindString)(LONG hwnd, BSTR addr_range, BSTR string_value, LONG type, BSTR* retstring);
- STDMETHOD(ReadData)(LONG hwnd, BSTR addr, LONG len, BSTR* retstring);
- STDMETHOD(OcrEx)(LONG x1, LONG y1, LONG x2, LONG y2, BSTR color_format, DOUBLE sim, BSTR* retstring);
- STDMETHOD(ReadDouble)(LONG hwnd, BSTR addr, DOUBLE* retdouble);
- STDMETHOD(ReadFloat)(LONG hwnd, BSTR addr, FLOAT* retfloat);
- STDMETHOD(ReadInt)(LONG hwnd, BSTR addr, LONG type, LONG* retint);
- STDMETHOD(ReadString)(LONG hwnd, BSTR addr, LONG type, LONG len, BSTR* retstring);
- STDMETHOD(TerminateProcess)(LONG pid, LONG* bret);
- STDMETHOD(VirtualAllocEx)(LONG hwnd, LONG addr, LONG size, LONG type, LONG* bret);
- STDMETHOD(VirtualFreeEx)(LONG hwnd, LONG addr, LONG* bret);
- STDMETHOD(WriteDouble)(LONG hwnd, BSTR addr, DOUBLE v, LONG* bret);
- STDMETHOD(WriteFloat)(LONG hwnd, BSTR addr, FLOAT v, LONG* bret);
- STDMETHOD(WriteInt)(LONG hwnd, BSTR addr, LONG type, LONG v, LONG* bret);
- STDMETHOD(WriteString)(LONG hwnd, BSTR addr, LONG type, BSTR v, LONG* bret);
- STDMETHOD(WriteData)(LONG hwnd, BSTR addr, BSTR data, LONG* nret);
- STDMETHOD(IsBind)(LONG hwnd, LONG* nret);
- STDMETHOD(FindFloatEx)(LONG hwnd, BSTR addr_range, FLOAT float_value_min, FLOAT float_value_max, LONG step, LONG multi_thread, LONG mode, BSTR* retstring);
- STDMETHOD(FindDoubleEx)(LONG hwnd, BSTR addr_range, DOUBLE double_value_min, DOUBLE double_value_max, LONG step, LONG multi_thread, LONG mode, BSTR* retstring);
- STDMETHOD(FindIntEx)(LONG hwnd, BSTR addr_range, LONG int_value_min, LONG int_value_max, LONG type, LONG step, LONG multi_thread, LONG mode, BSTR* retstring);
- STDMETHOD(FindDataEx)(LONG hwnd, BSTR addr_range, BSTR data, LONG step, LONG multi_thread, LONG mode, BSTR* retstring);
- STDMETHOD(FindStringEx)(LONG hwnd, BSTR addr_range, BSTR string_value, LONG type, LONG step, LONG multi_thread, LONG mode, BSTR* retstring);
- STDMETHOD(GetModuleBaseAddr)(LONG hwnd, BSTR modulename, LONG* nret);
- STDMETHOD(GetCommandLine)(LONG hwnd, BSTR* retstring);
- STDMETHOD(AsmAdd)(BSTR asm_ins, LONG* nret);
- STDMETHOD(AsmCall)(LONG hwnd, LONG mode, LONG* nret);
- STDMETHOD(AsmClear)(LONG* nret);
- STDMETHOD(AsmCode)(LONG base_addr, BSTR* retstring);
- STDMETHOD(Assemble)(BSTR asm_code, LONG base_addr, LONG is_upper, BSTR* retstring);
- STDMETHOD(MatchPicName)(BSTR pic_name, BSTR* retstring);
- STDMETHOD(SetShowErrorMsg)(LONG show, LONG* nret);
- STDMETHOD(Reg)(BSTR reg_code, LONG type, LONG* nret);
- STDMETHOD(GetMachineCode)(BSTR* retstring);
- STDMETHOD(TSGuardProtectToHide)(LONG enble, LONG* nret);
- STDMETHOD(TSGuardProtectToHide2)(LONG enable, LONG* nret);
- STDMETHOD(TSGuardProtectToNP)(LONG enable, LONG* nret);
- STDMETHOD(Delay)(LONG mis, LONG* nret);
- STDMETHOD(FindStrS)(LONG x1, LONG y1, LONG x2, LONG y2, BSTR string, BSTR color_format, DOUBLE sim, VARIANT* intX, VARIANT* intY, BSTR* retstring);
- STDMETHOD(FindStrFastS)(LONG x1, LONG y1, LONG x2, LONG y2, BSTR string, BSTR color_format, DOUBLE sim, VARIANT* intX, VARIANT* intY, BSTR* retstring);
- STDMETHOD(FindStrExS)(LONG x1, LONG y1, LONG x2, LONG y2, BSTR string, BSTR color_format, DOUBLE sim, BSTR* retstring);
- STDMETHOD(FindStrFastExS)(LONG x1, LONG y1, LONG x2, LONG y2, BSTR string, BSTR color_format, DOUBLE sim, BSTR* retstring);
- STDMETHOD(FindPicS)(LONG x1, LONG y1, LONG x2, LONG y2, BSTR pic_name, BSTR delta_color, DOUBLE sim, LONG dir, VARIANT* intX, VARIANT* intY, BSTR* retstring);
- STDMETHOD(FindPicExS)(LONG x1, LONG y1, LONG x2, LONG y2, BSTR pic_name, BSTR delta_color, DOUBLE sim, LONG dir, BSTR* retstring);
- STDMETHOD(SetDictPwd)(BSTR pwd, LONG* nret);
- STDMETHOD(SetPicPwd)(BSTR pwd, LONG* nret);
- STDMETHOD(LeftDoubleClick)(LONG* nret);
- STDMETHOD(FreeProcessMemory)(LONG hwnd, LONG* nret);
- STDMETHOD(TSDXGraphicProtect)(LONG enable, LONG* nret);
- STDMETHOD(TSDXKmProtect)(LONG enable, BSTR type, LONG* nret);
- STDMETHOD(CheckFontSmooth)(LONG* nret);
- STDMETHOD(DisableFontSmooth)(LONG* nret);
- STDMETHOD(GetScreenData)(LONG x1, LONG y1, LONG x2, LONG y2, LONG* RetAddr);
- STDMETHOD(EnableRealMouse)(ULONG enable, ULONG mousedelay, ULONG mousestep, ULONG* nret);
- STDMETHOD(EnableRealKeypad)(ULONG enable, ULONG* nret);
- STDMETHOD(MoveToEx)(ULONG x, ULONG y, ULONG w, ULONG h, BSTR* retstring);
- STDMETHOD(CheckUAC)(ULONG* nret);
- STDMETHOD(SetUAC)(ULONG enable, ULONG* nret);
- STDMETHOD(WaitKey)(ULONG vk_code, ULONG time_out, ULONG* nret);
- STDMETHOD(FindMultiColor)(ULONG x1, ULONG y1, ULONG x2, ULONG y2, BSTR first_color, BSTR offset_color, DOUBLE sim, ULONG dir, VARIANT* intX, VARIANT* intY, ULONG* nret);
- STDMETHOD(FindMultiColorEx)(ULONG x1, ULONG y1, ULONG x2, ULONG y2, BSTR first_color, BSTR offset_color, DOUBLE sim, ULONG dir, BSTR* retstring);
- STDMETHOD(SetSimMode)(ULONG mode, ULONG* nret);
- };
- OBJECT_ENTRY_AUTO(__uuidof(TSPlugInterFace), CTSPlugInterFace)
|