QuakeGod
2023-10-20 0200a36062386b937567265e3ea01f93eaa8f1f5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
 
// ConfigTool.h: ConfigTool 应用程序的主头文件
//
#pragma once
 
#ifndef __AFXWIN_H__
    #error "include 'pch.h' before including this file for PCH"
#endif
 
#include "resource.h"       // 主符号
 
#include "../mylib/LOGGER/Logger.hpp"
#include "../MyLib/MHashINI/MHash.hpp"
 
// CConfigToolApp:
// 有关此类的实现,请参阅 ConfigTool.cpp
//
 
class CConfigToolApp : public CWinApp
{
public:
    CConfigToolApp() noexcept;
 
 
// 重写
public:
    virtual BOOL InitInstance();
    virtual int ExitInstance();
 
// 实现
    afx_msg void OnAppAbout();
    DECLARE_MESSAGE_MAP()
};
 
extern CConfigToolApp theApp;
 
 
void Trans_Tunc(unsigned int, EXCEPTION_POINTERS*);
#define CHECKE(func) try {func;} catch(SE_Exception &e) {DisplayException(_T(__FILE__),__LINE__,_T(__FUNCTION__),_T(#func),e);} catch (CException * e) {DisplayException(_T(__FILE__),__LINE__,_T(__FUNCTION__),_T(#func),e);} catch (...){DisplayException(_T(__FILE__),__LINE__,_T(__FUNCTION__),_T(#func));}
class SE_Exception
{
private:
    SE_Exception() {}
    unsigned int nSE;
    PVOID Addr;
    CString InfoStr;
public:
    SE_Exception(SE_Exception& e) : nSE(e.nSE) {}
    SE_Exception(unsigned int n) :nSE(n) {}
    SE_Exception(unsigned int n, PVOID a) :nSE(n), Addr(a) {}
    SE_Exception(unsigned int n, PVOID a, CString &str1) :nSE(n), Addr(a), InfoStr(str1) {}
 
    ~SE_Exception() {}
    unsigned int getSeNumber() { return nSE; }
    PVOID getAddress() { return Addr; }
    CString & getInfoStr() { return InfoStr; }
};
int DisplayException(CString File, int Line, CString Func, CString Sentence, SE_Exception &e);
int DisplayException(CString File, int Line, CString Func, CString Sentence, CException *e);
int DisplayException(CString File, int Line, CString Func, CString Sentence);
 
int SaveMyConfig();
int LoadMyConfig();
 
int SysLog(CString s, int channel = 0);
int DbgLog(CString s, int channel = 0);
 
int PopupMessage(CString s, int channel = 0);
void DoEvents();
 
extern MHash MyCfg1;
extern Logger myLogger1;
extern MHash DeviceList;
 
CString& FormatHex(void * databuf, int nSize);