// IntervalToSendDlg.h : 头文件 // #pragma once #include #include #include "resource.h" #include #define WM_THREAD_STOP WM_USER + 1 #define WM_THREAD_UPDATE_DATA WM_USER + 2 // CIntervalToSendDlg 对话框 class CIntervalToSendDlg : public CDialogEx { // 构造 public: CIntervalToSendDlg(CWnd* pParent = NULL); // 标准构造函数 // 对话框数据 enum { IDD = IDD_INTERVALTOSEND_DIALOG }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 // 实现 protected: HICON m_hIcon; // 生成的消息映射函数 virtual BOOL OnInitDialog(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); DECLARE_MESSAGE_MAP() public: CString m_strInfo = R"+({"cmd":"push_info","IMEI":"1234567890","CCID":"860319452072615123","location":"0.0,0.0","type":"0001","version":"1.0.10"})+"; CString m_data = R"+({"cmd":"push_msg","IMEI":"1234567890","time":"2020-07-18 15:22:59","packnum":"12129","humidity":"35.7","temperature":"42.8","data0":"a543,a543,a548,a543,a543,a543,a54d,a548,a543,a543,a543,a543,a543,a53a,a543,a53f,a543,a53f,a53f,a543,a548,a548,a543,a53f,a543,a548,a53f,a548,a543,a53a,a548,a548,a543,a548,a54d,a543,a543,a543,a543,a54d,a53f,a543,a548,a543,a543,a548,a548,a53f,a543,a54d","data1":"b6b8,b6b8,b6b8,b6b8,b6b8,b6b8,b6bf,b6b8,b6b8,b6b8,b6bf,b6b8,b6bf,b6b8,b6b8,b6bf,b6b8,b6b8,b714,b6b8,b6b8,b6b8,b6ab,b6b8,b6b8,b6b8,b6f3,b6b2,b6b2,b6b8,b6b8,b727,b6b8,b6b8,b6b8,b6b8,b6b8,b6bf,b6b8,b6b8,b6b8,b6b8,b6bf,b6bf,b6b8,b6bf,b6b8,b6b8,b6b8,b6b8","data2":"74a6,74a6,74c5,7523,7448,7468,7468,7487,7487,7468,7468,7468,7468,7468,7448,7468,7468,7468,7468,7468,7468,7468,7468,7468,7448,7468,7448,7468,7448,7448,7448,7468,7448,7448,7448,7429,7429,7448,7448,7448,7429,7429,7448,7429,7448,7448,7429,7429,7429,7429"})+"; CString m_ip = "127.0.0.1"; int m_port = 51609; afx_msg void OnBnClickedBtnStart(); afx_msg void OnBnClickedBtnClear(); afx_msg void OnBnClickedBtnImport(); afx_msg HRESULT OnThreadStop(WPARAM w, LPARAM l); afx_msg HRESULT OnUpdateData(WPARAM w, LPARAM l); CComboBox m_cmbType; BOOL m_bCycle = TRUE; BOOL m_bModify = TRUE; BOOL m_bHex = FALSE; public: static void ThreadProc(DWORD_PTR, DWORD_PTR, DWORD_PTR); bool checkData(); std::thread* m_thread = nullptr; bool m_bwork = false; time_t m_tmLast = 0; };