fast/Platform/ModuleProcess.h

87 lines
1.9 KiB
C
Raw Normal View History

2025-01-20 10:30:01 +08:00
#pragma once
typedef struct MODULE_DATA
{
void* pModule;
int lMsgId;
int lDataLen;
char acData[4];
}*pMODULE_DATA;
void g_PipeCallBack(void* pObj, int lMsgId,WPARAM wparam, LPARAM lparam);
#define WM_MODULE_DATA_ID (WM_USER + 666)
#define WM_MODULE_CONNECT_ID (WM_USER + 667)
#define WM_UPDATE_MODULE_STATUS (WM_USER + 20668)
class CModuleProcess
{
friend void g_PipeCallBack(void* pObj, int lMsgId, WPARAM wparam, LPARAM lparam);
public:
//hWnd<6E>յ<EFBFBD><D5B5><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>Ϣʱת<CAB1><D7AA><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>ڣ<EFBFBD>
CModuleProcess(CAgvMainDialog *pMainWnd, CString strModulePath, CString strModuleName, int lModuleIndex);
~CModuleProcess(void);
void SetPipeName(CString strPipeName) { m_strPipeName = strPipeName; }
//<2F><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>
BOOL Start(int nDebug=0);
//ֹͣģ<D6B9><C4A3>
void Stop();
//<2F><>ȡ<EFBFBD><C8A1>ǰģ<C7B0><C4A3>״̬̫0 δ<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BOOL GetStatus();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BOOL SendDataToModule(int lMsgId, const char* pData, int lLen);
//<2F><><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>
void ProcessManageThr();
CRect GetRect(){return m_rect;}
void SetRect(CRect rect){m_rect = rect;}
CString GetModulePath() { return m_strModulePath; }
CString GetModuleName() { return m_strModuleName; }
BOOL GetConnectState(){return m_bIsConnectModule;}
VOID SetConnectState(BOOL bState){m_bIsConnectModule = bState;}
CHttpClient m_httpClent;
CAgvMainDialog *m_pAgvMainWnd;
int m_lModuleIndex;
int m_nDebug;
int m_lReStartCount;
int m_lState;//0 δ<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD><EFBFBD><EFBFBD>
protected:
//<2F><>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨѶ<CDA8>Ĺܵ<C4B9><DCB5>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//1<><31>lparam > 0ʱ<30><CAB1>wparamΪ<6D><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>lparamΪ<6D><CEAA><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
//2<><32>lparam<61><6D>-1<>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD>ӳɹ<D3B3><C9B9><EFBFBD>-2<>ܵ<EFBFBD><DCB5>Ͽ<EFBFBD><CFBF><EFBFBD>-3<>ܵ<EFBFBD><DCB5>
void PipeCallBack(int lMsgId, WPARAM wparam, LPARAM lparam);
//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Ӧ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵߳<DFB3><CCB5><EFBFBD>
BOOL StartModule();
private:
CString m_strModulePath;
CString m_strModuleName;
CCEXPipeServerBase* m_pstPipeServer;
HANDLE m_hProcessManageThr;
BOOL m_bAcitv;
HWND m_hWnd;
CRect m_rect;//ģ<><C4A3><EFBFBD><EFBFBD>ռ<EFBFBD>õľ<C3B5><C4BE>ο<EFBFBD>λ<EFBFBD><CEBB>
CString m_strPipeName;
PROCESS_INFORMATION m_pi; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>
BOOL m_bIsConnectModule;
};