#pragma once #include #include // CDlgManualUSB 对话框 class CDlgManualUSB : public CDialogEx { DECLARE_DYNAMIC(CDlgManualUSB) void close(void); HANDLE open_usb(const wchar_t* name); std::wstring error_message(int err = -1); void append_message(const wchar_t* msg); public: CDlgManualUSB(CWnd* pParent = nullptr); // 标准构造函数 virtual ~CDlgManualUSB(); // 对话框数据 #ifdef AFX_DESIGN_TIME #endif enum { IDD = IDD_RAW_USB }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 virtual BOOL OnInitDialog(void); DECLARE_MESSAGE_MAP() HANDLE main_ = INVALID_HANDLE_VALUE; std::map endpoints_; HMENU ep_menu_ = NULL; int cur_sel_ = -1; public: CListCtrl eps_; CComboBox types_; CComboBox oper_ep_; afx_msg void OnBnClickedButtonOpen(); afx_msg void OnBnClickedButtonAddEp(); afx_msg void OnBnClickedButtonCmd(); afx_msg void OnBnClickedButtonClose(); afx_msg void OnNMRClickListEp(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnUsbOpen(); afx_msg void OnUsbClose(); afx_msg void OnUsbDelete(); afx_msg void OnBnClickedButtonClear(); };