mrDarker
2025-08-13 5cc675212e96d87ebbf00f4fd7a8106b06a490ff
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
// LogViewView.h : CLogViewView Å¬·¡½ºÀÇ ÀÎÅÍÆäÀ̽º
//
 
 
#pragma once
#include "afxcmn.h"
#include "afxwin.h"
 
#define READ_SHAREDMAP    10
#define SAVE_LOGFILE    20
#define READ_COMMAND    30
#define DELETE_LOG        40
 
//·Î±× ¸Þ¸ð¸® Pool »çÀÌÁ ÁöÁ¤ÇÕ´Ï´Ù.
#define LOG_MEMORY_COUNT    1000
 
//LOG_MEMORY_SIZEÀÇ °ªÀ» º¯°æÇÒ¶§ MemoryManager.h¿¡ Àִ TLOGSIZE °ªµµ º¯°æÇؾߠÇÕ´Ï´Ù.
//¸Þ¸ð¸® Pool¿¡ Àִ ÇϳªÀÇ ·Î±×ÀÇ Å©±â¸¦ ÁöÁ¤ÇÕ´Ï´Ù.
 
 
typedef struct _DITSAVEOPTION{
    unsigned int nMemoryMapReadDelay;
    unsigned int nCommandReadDelay;
    unsigned int nLogSaveDelay;
    unsigned int nLogSaveLevel;
    unsigned int nListPrintCount;
    int nViewLevel;
} DITSAVEOPTION,*PDITSAVEOPTION;
 
class CLogManager;
class CMemoryManager;
class CPathData;
 
class CLogViewView : public CFormView
{
    //SharedMapDll
    CLogManager* m_pLogManager;
    //·Î±× ¸Þ¸ð¸® Pool°ú ·Î±× Å¥¸¦ °ü¸®ÇÕ´Ï´Ù.
    CMemoryManager* m_pMemoryManager[LV_FCOUNT];
 
    CPathData* m_pPathData;
 
    //ÇöÀ砷αנView°¡ Àоî¿Â À妽º
    unsigned int m_nIndex;
 
    //·Î±× ÀúÀå Áֱ⸦ ´ã°í Àִ º¯¼ö
    unsigned int m_nLogSaveDelay;
    //¸Þ¸ð¸® ¸Ê ·Îµå Áֱ⸦ ´ã°í Àִ º¯¼ö
    unsigned int m_nMemoryMapReadDelay;
    //Ä¿¸Çµå ¸Ê ·Îµå Áֱ⸦ ´ã°í Àִ º¯¼ö
    unsigned int m_nCommandReadDelay;
    //·Î±×ÆÄÀÏ¿¡ ÀúÀåÇÒ ·Î±× Á¦ÇÑ ·¹º§À» ´ã°í Àִ º¯¼ö
    unsigned int m_nLogSaveLevel;
    //LogView Áߺ¹ ½ÇÇàÀ» Ã¼Å©ÇÒ À̺¥Æ® °´Ã¼
    //ÇÁ·Î¼¼½º ID¸¦ ¾ò¾î¿Ã¶§ »ç¿ëÇÕ´Ï´Ù.
    HANDLE m_hDupCheck;
 
    //ŸÀ̸ӠÁֱ⠺¯°æ½Ã º¸È£ flag
    bool m_bKillTimer;
 
    //·Î±× ¸®½ºÆ® ÀÚµ¿ ½ºÅ©·Ñ Ã¼Å© º¯¼ö
    BOOL m_bAutoScroll;
    //·Î±× ¸®½ºÆ®¿¡ Ãâ·ÂÇÒ Á¦ÇÑ ·¹º§
    int m_nViewLevel;
    //·Î±× ¸®½ºÆ® Á¦ÇÑ ·¹º§À» ÄÁÆ®·Ñ Çϴ ÄÞº¸¹Ú½º
    CComboBox m_ComboViewLevel;
 
    //·Î±×¸¦ Ãâ·ÂÇϴ ¸®½ºÆ® ÄÁÆ®·Ñ
    CListCtrl m_ListLogViewer;
 
    //ÇöÀç µ¿ÀÛÇϴ ÇÁ·Î¼¼½º ¾ÆÀ̵ð
    unsigned int m_nProcessID;
 
    
    
    CString m_strDefaultPath;
    CString m_strMemoryMap;
protected: // serialization¿¡¼­¸¸ ¸¸µé¾îÁý´Ï´Ù.
    CLogViewView();
    DECLARE_DYNCREATE(CLogViewView)
 
public:
    enum{ IDD = IDD_LOGVIEW_FORM };
 
// Æ¯¼ºÀÔ´Ï´Ù.
public:
    CLogViewDoc* GetDocument() const;
 
// ÀÛ¾÷ÀÔ´Ï´Ù.
public:
 
// ÀçÁ¤ÀÇÀÔ´Ï´Ù.
public:
    virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV Áö¿øÀÔ´Ï´Ù.
    virtual void OnInitialUpdate(); // »ý¼º ÈĠóÀ½ È£ÃâµÇ¾ú½À´Ï´Ù.
 
// ±¸ÇöÀÔ´Ï´Ù.
public:
    virtual ~CLogViewView();
#ifdef _DEBUG
    virtual void AssertValid() const;
    virtual void Dump(CDumpContext& dc) const;
#endif
 
protected:
 
// »ý¼ºµÈ ¸Þ½ÃÁö ¸Ê ÇÔ¼ö
protected:
    DECLARE_MESSAGE_MAP()
public:
 
    afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
    afx_msg void OnDestroy();
    afx_msg void OnTimer(UINT_PTR nIDEvent);
    //¸Þ¸ð¸® ¸Ê¿¡ Àִ ³»¿ëÀ» Àоî¿Â´Ù.
    void ReadSharedMemoryMap(void);
    //·Î±× Å¥¿¡ Àִ ³»¿ëÀ» ÆÄÀϷΠÀúÀåÇÑ´Ù.
    void SaveLogFile(void);
    //ÁÖ±âÀûÀ¸·Î Ä¿¸Çµå°¡ ÀÖ´ÂÁö È®ÀÎÇÑ´Ù.
    void ReadCommand(void);
    //½ÇÇàµÇ°í Àִ ÆÄÀÏÀÇ À§Ä¡¸¦ ¾ò¾î¿Â´Ù.
    void GetModulePath(CString &Temp);
    afx_msg void OnBnClickedCheckAutoscroll();
 
    afx_msg void OnCbnSelchangeComboViewlevel();
    afx_msg void OnOptionLogsave();
 
    //¼³Á¤µÈ È¯°æÀ» Àоî¿Â´Ù.
    void ReadINIFile(void);
    //¼³Á¤µÈ °ªÀ» INIÆÄÀÏ¿¡ ÀúÀåÇÑ´Ù.
    void SaveINIFile(void);
    //¸®½ºÆ®¿¡ Ãâ·ÂÇÒ Ä«¿îÆ® º¯¼ö
    unsigned int m_nListPrintCount;
    //À̺¥Æ® °´Ã¼¸¦ ÀÌ¿ëÇÏ¿© Áߺ¹µÇÁö ¾Ê´Â ProcessID¸¦ ¾ò¾î¿Â´Ù.
    unsigned int GetProcessID(TCHAR* MemoryMapName);
    afx_msg void OnBnClickedButtonMapsave();
    void DeleteLog(void);
    void GetDeleteDay(SYSTEMTIME& Today, DWORD DiffDay);
    DWORD SystemToAbsDay(SYSTEMTIME& st);
    void AbsDayToSystemTime(DWORD AbsDay, SYSTEMTIME& st);
    afx_msg void OnLogpathsetting();
    bool CheckDup(TCHAR* MemoryMapName);
    int m_nViewLogIndex;
    afx_msg void OnCbnSelchangeComboLogid();
    CComboBox m_ComboViewLogID;
    int m_ComboViewLastLogID;
    afx_msg void OnSize(UINT nType, int cx, int cy);
};
 
#ifndef _DEBUG  // LogViewView.cppÀÇ µð¹ö±× ¹öÀü
inline CLogViewDoc* CLogViewView::GetDocument() const
   { return reinterpret_cast<CLogViewDoc*>(m_pDocument); }
#endif