Restructure repository to include all source folders

Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-29 20:17:20 +09:00
parent 5d3cd64a25
commit dd97ddec92
11602 changed files with 1446576 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,418 @@
/******************************************************************************
$Author$
$Modtime$
$Revision$
Description: Interfaces of the classes "CListCtrlEx" and "CListViewEx"
(list control and list view with sort icons and
colored sort column)
$Log$
******************************************************************************/
#pragma once
/*** Declaration of "workhorse" class "CListBase" ****************************/
class CListCtrlHelper;
class CListBase
{
public:
CListBase();
~CListBase();
BOOL ColorSortColumn (BOOL bEnable = TRUE, int nSortColumn = 0);
virtual void DrawSmallIcon (CDC* pDC, LVITEM* pItem, LPRECT pRect);
virtual void DrawStateIcon (CDC* pDC, LVITEM* pItem, LPRECT pRect);
virtual void DrawSubItemText (CDC* pDC, LVITEM* pItem, LVCOLUMN* pColumn,
LPRECT pRect);
void EnableColumn (int nColumn, BOOL bEnableIt = TRUE);
void EnableColumnHiding(int nColumn, BOOL bEnableIt = TRUE);
void EnableColumnSeparators(BOOL bEnable = TRUE)
{
m_bColumnSeparators = bEnable;
}
void EnableExplorerStyle();
void EnableSortIcon (BOOL bEnable = TRUE, int nSortColumn = 0);
void EnableSubItemTips (BOOL bEnable = TRUE) {m_bSubItemTips = bEnable;}
int GetColumnCount() const
{
return static_cast<int>(m_aColumnData.GetSize());
}
POSITION GetFirstCheckedItemPosition() const;
int GetNextCheckedItem (POSITION& pos) const;
int GetSortColumn () const {return m_iSortColumn;}
BOOL GetState (LPBYTE* ppState, LPUINT pnStateLen) const;
virtual const CString GetToolTip(int /*nItem*/) {return _T("");}
virtual const CString GetToolTip(int /*nItem*/, int /*nSubItem*/,
UINT /*nFlags*/, BOOL& /*bAsLabel*/)
{
return _T("");
}
BOOL IsColumnEnabled(int nColumn) const
{
return m_aColumnData[nColumn]->m_bEnabled;
}
BOOL IsSubItemWidthSufficient(int nItem, int nSubItem, LPCTSTR pszText);
BOOL KeepLabelLeft (BOOL bKeepLeft = true);
BOOL RestoreState (LPCTSTR pszSection, LPCTSTR pszEntry);
BOOL SaveState (LPCTSTR pszSection, LPCTSTR pszEntry) const;
void SetSortColumn (int nColumn);
BOOL SetState (LPBYTE pState, UINT nStateLen);
void ShowColumn (int nColumn, BOOL bShowIt = TRUE);
private:
enum EXPLORER_STYLE {NONE, XP, VISTA};
enum VISUAL_STYLE {Unknown, NotPresent, Present};
friend class CListCtrlEx;
friend class CListViewEx;
friend class CLabelEdit;
friend class CLabelTipCtrl;
struct COLUMN_DATA
{
COLUMN_DATA(): m_bEnabled (true),
m_bHidingAllowed(false),
m_bVisible (true),
m_nWidth (0),
m_nOrder (0),
m_pLVColumn (0)
{}
~COLUMN_DATA();
bool m_bEnabled;
bool m_bHidingAllowed;
bool m_bVisible;
int m_nWidth;
int m_nOrder;
LVCOLUMN* m_pLVColumn;
};
struct ITEM_DATA
{
ITEM_DATA(): m_lParam(0) {}
~ITEM_DATA();
LPARAM m_lParam;
CArray<LVITEM*> m_apLVItem;
};
static int CALLBACK CompareFunc (LPARAM lParam1, LPARAM lParam2,
LPARAM lParamSort);
void CreateSortIcons ();
void DrawItem (LPDRAWITEMSTRUCT lpDrawItemStruct);
LVCOLUMN* DupLVColumn (LVCOLUMN* pLVColumn) const;
LVITEM* DupLVItem (LVITEM* pLVItem) const;
void EraseRect (CDC* pDC, LPRECT pRect);
bool GetLabelRect (int nItem, int nSubItem, LPRECT pRect);
LVITEM* GetLVITEM (int nItem, int nSubItem = 0) const;
int GetLogicalIndex (int nPhysicalColumn) const;
int GetLogicalOrder (int nPhysicalOrder) const;
int GetPhysicalIndex (int nColumnIndex) const;
int GetPhysicalOrder (int nColumnOrder) const;
bool GetStateIconRect (int nItem, LPRECT pRect);
void HideColumn (int nColumn);
int IndexToOrder (int nIndex);
void InitializeSubCtrls ();
void InvalidateNonItemArea();
void JustifyFirstColumn (int nFormat);
BOOL OnBeginLabelEdit (NMHDR* pNMHDR);
LRESULT OnCancelEditLabel ();
BOOL OnColumnclick (NMHDR* pNMHDR, LRESULT* pResult);
BOOL OnCommand (WPARAM wParam);
void OnContextMenu (CWnd* pWnd, CPoint point);
void OnCustomDraw (NMHDR* pNMHDR, LRESULT* pResult);
LRESULT OnDeleteAllItems ();
LRESULT OnDeleteColumn (WPARAM wParam);
LRESULT OnDeleteItem (WPARAM wParam);
void OnDestroy ();
BOOL OnEndLabelEdit (NMHDR* pNMHDR);
BOOL OnEraseBkgnd (CDC* pDC);
LRESULT OnFindItem (WPARAM wParam, LPARAM lParam);
LRESULT OnGetColumn (WPARAM wParam, LPARAM lParam);
LRESULT OnGetColumnWidth (WPARAM wParam);
LRESULT OnGetColumnOrderArray(WPARAM wParam, LPARAM lParam);
BOOL OnGetdispinfo (NMHDR* pNMHDR);
LRESULT OnGetItem (LPARAM lParam);
LRESULT OnGetItemRect (WPARAM wParam, LPARAM lParam);
LRESULT OnGetItemText (WPARAM wParam, LPARAM lParam);
LRESULT OnGetSubItemRect (WPARAM wParam, LPARAM lParam);
int OnHitTest (LPARAM lParam);
void OnHScroll ();
LRESULT OnInsertColumn (WPARAM wParam, LPARAM lParam);
LRESULT OnInsertItem (LPARAM lParam);
void OnKeyDown (UINT nChar);
void OnKeyUp (UINT nChar);
void OnKillFocus ();
void OnLButtonDblClk (CPoint point);
void OnLButtonDown (CPoint point);
void OnLButtonUp ();
LRESULT OnMouseLeave ();
void OnMouseMove (CPoint point) ;
BOOL OnMouseWheel (CPoint point);
BOOL OnNotify (LPARAM lParam);
BOOL OnODCacheHint (NMHDR* pNMHDR);
void OnPaint ();
LRESULT OnSetBkColor (LPARAM lParam);
LRESULT OnSetBkImage ();
LRESULT OnSetColumn (WPARAM wParam, LPARAM lParam);
LRESULT OnSetColumnOrderArray(WPARAM wParam, LPARAM lParam);
LRESULT OnSetColumnWidth (WPARAM wParam, LPARAM lParam);
LRESULT OnSetExtendedStyle (WPARAM wParam, LPARAM lParam);
void OnSetFocus ();
LRESULT OnSetImageList (WPARAM wParam);
LRESULT OnSetItem (LPARAM lParam);
LRESULT OnSetItemText (WPARAM wParam, LPARAM lParam);
LRESULT OnSortItems (WPARAM wParam, LPARAM lParam);
void OnSysColorChange ();
int OrderToIndex (int nOrder);
void PrepareHotUnderlining();
void RedisplayColumn (int nColumn);
void RefreshToolTips ();
void SetHotCursorAndItem (LPLVHITTESTINFO pInfo);
void SetSortIcon ();
static UINT m_winver;
static VISUAL_STYLE m_visualStyle;
static const int m_iFirstColXOff;
static const int m_iNextColXOff;
static const int m_iColumnSeparatorWidth;
int m_iIconXOff; // offset of icon may vary of
// unknown reason
HTHEME m_hTheme;
CListCtrlHelper* m_pListCtrl;
bool m_bIsActive;
bool m_bMouseInClientArea;
bool m_bTopMost;
bool m_bFocusSet;
CArray<COLUMN_DATA*> m_aColumnData;
int m_iColumnHidingAllowed;
BOOL m_bColumnSeparators;
bool m_bExplorerStyle;
BOOL m_bSortIconEnabled;
BOOL m_bColorSortColumn;
COLORREF m_clrBkColor;
bool m_bBkColorKnown;
bool m_bBkImage;
CImageList m_imglstSortIcons;
CBitmap m_bmpUpArrow;
CBitmap m_bmpDownArrow;
int m_iUpArrow;
int m_iDownArrow;
DWORD m_dwColSortColor;
int m_iSortColumn;
int m_iFormatOfSubItem0;
BOOL m_bKeepLabelLeft;
bool m_bLocked;
bool m_bControl;
bool m_bIconXOffCalculated;
bool m_bFixedBkColor;
DWORD m_dwExtendedStyle;
int m_iItemUnderCursor;
int m_iHotItem;
COLORREF m_dwHotLite;
HCURSOR m_hCursorCustom;
HCURSOR m_hCursorArrow;
HCURSOR m_hCursorHand;
PFNLVCOMPARE m_pfnLVCompare;
LPARAM m_lParamSort;
CList<int> m_lstVisibleItemsPreviouslySelected;
int m_iItemLastSelected;
int m_iFirstCachedItem;
int m_iLastCachedItem;
bool m_bAlwaysGetSmallIconRect;
bool m_bIgnoreNextMouseMove;
bool m_bRefreshToolTips;
BOOL m_bSubItemTips;
bool m_bUpdateToolTips;
CToolTipCtrl* m_pToolTip;
CLabelTipCtrl* m_pLabelTip;
CString m_strCurrentToolTip;
CString m_strCurrentLabelTip;
bool m_bToolTips;
bool m_bUnfoldLabel;
BOOL m_bLabelUnfolded;
CLabelEdit* m_pLabelEdit;
CString m_strEditedLabel;
int m_iItemEdit;
bool m_bLabelEditingCancelled;
bool m_bOnEndLabelEdit;
bool m_bOnGetDispinfo;
bool m_bOnPaint;
bool m_bRepost;
int m_iCurrentItem;
int m_iCurrentSubItem;
UINT m_fCurrentFlags;
};
/*** Declaration of class "CListCtrlEx" **************************************/
class CListCtrlEx: public CListCtrl, public CListBase
{
DECLARE_DYNCREATE(CListCtrlEx);
public:
CListCtrlEx() {m_pListCtrl = reinterpret_cast<CListCtrlHelper*>(this);}
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
CListBase::DrawItem(lpDrawItemStruct);
}
protected:
// Overrides
// ClassWizard generated virtual function overrides
virtual BOOL OnCommand (WPARAM wParam, LPARAM lParam);
virtual BOOL OnNotify (WPARAM wParam, LPARAM lParam,
LRESULT* pResult);
virtual void PreSubclassWindow();
// Generated message map functions
afx_msg BOOL OnBeginLabelEdit (NMHDR* pNMHDR, LRESULT*);
afx_msg LRESULT OnCancelEditLabel (WPARAM, LPARAM);
afx_msg BOOL OnColumnclick (NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnContextMenu (CWnd* pWnd, CPoint point);
afx_msg int OnCreate (LPCREATESTRUCT lpCreateStruct);
afx_msg void OnCustomDraw (NMHDR* pNMHDR, LRESULT* pResult);
afx_msg LRESULT OnDeleteAllItems (WPARAM, LPARAM);
afx_msg LRESULT OnDeleteColumn (WPARAM wParam, LPARAM);
afx_msg LRESULT OnDeleteItem (WPARAM wParam, LPARAM);
afx_msg void OnDestroy ();
afx_msg BOOL OnEndLabelEdit (NMHDR* pNMHDR, LRESULT*);
afx_msg BOOL OnEraseBkgnd (CDC* pDC);
afx_msg LRESULT OnFindItem (WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnGetColumn (WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnGetColumnOrderArray(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnGetColumnWidth (WPARAM wParam, LPARAM);
afx_msg BOOL OnGetdispinfo (NMHDR* pNMHDR, LRESULT*);
afx_msg LRESULT OnGetExtendedStyle (WPARAM, LPARAM);
afx_msg LRESULT OnGetItem (WPARAM, LPARAM lParam);
afx_msg LRESULT OnGetItemRect (WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnGetItemText (WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnGetSubItemRect (WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnHitTest (WPARAM, LPARAM lParam);
afx_msg void OnHScroll (UINT nSBCode, UINT nPos,
CScrollBar* pScrollBar);
afx_msg LRESULT OnInsertColumn (WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnInsertItem (WPARAM, LPARAM lParam);
afx_msg void OnKeyDown (UINT nChar, UINT nRepCnt,
UINT nFlags);
afx_msg void OnKeyUp (UINT nChar, UINT nRepCnt,
UINT nFlags);
afx_msg void OnKillFocus (CWnd* pNewWnd);
afx_msg void OnLButtonDblClk (UINT nFlags, CPoint point);
afx_msg void OnLButtonDown (UINT nFlags, CPoint point);
afx_msg void OnLButtonUp (UINT nFlags, CPoint point);
afx_msg LRESULT OnMouseLeave (WPARAM, LPARAM);
afx_msg void OnMouseMove (UINT, CPoint point);
afx_msg BOOL OnMouseWheel (UINT, short, CPoint pt);
afx_msg BOOL OnODCacheHint (NMHDR* pNMHDR, LRESULT*);
afx_msg void OnPaint ();
afx_msg LRESULT OnSetBkColor (WPARAM, LPARAM lParam);
afx_msg LRESULT OnSetBkImage (WPARAM, LPARAM);
afx_msg LRESULT OnSetColumn (WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnSetColumnOrderArray(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnSetColumnWidth (WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnSetExtendedStyle (WPARAM wParam, LPARAM lParam);
afx_msg void OnSetFocus (CWnd* pOldWnd);
afx_msg LRESULT OnSetImageList (WPARAM wParam, LPARAM);
afx_msg LRESULT OnSetItem (WPARAM, LPARAM lParam);
afx_msg LRESULT OnSetItemText (WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnSortItems (WPARAM wParam, LPARAM lParam);
afx_msg void OnSysColorChange ();
DECLARE_MESSAGE_MAP()
};
/*** Declaration of class "CListViewEx" **************************************/
class CListViewEx: public CListView, public CListBase
{
DECLARE_DYNCREATE(CListViewEx);
public:
CListViewEx()
{
m_pListCtrl = reinterpret_cast<CListCtrlHelper*>(&GetListCtrl());
}
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
CListBase::DrawItem(lpDrawItemStruct);
}
protected:
// Overrides
// ClassWizard generated virtual function overrides
virtual BOOL OnCommand (WPARAM wParam, LPARAM lParam);
virtual void OnInitialUpdate();
virtual BOOL OnNotify (WPARAM wParam, LPARAM lParam, LRESULT* pResult);
// Generated message map functions
afx_msg BOOL OnBeginLabelEdit (NMHDR* pNMHDR, LRESULT*);
afx_msg LRESULT OnCancelEditLabel (WPARAM, LPARAM);
afx_msg BOOL OnColumnclick (NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnContextMenu (CWnd* pWnd, CPoint point);
afx_msg void OnCustomDraw (NMHDR* pNMHDR, LRESULT* pResult);
afx_msg LRESULT OnDeleteAllItems (WPARAM, LPARAM);
afx_msg LRESULT OnDeleteColumn (WPARAM wParam, LPARAM);
afx_msg LRESULT OnDeleteItem (WPARAM wParam, LPARAM);
afx_msg void OnDestroy ();
afx_msg BOOL OnEndLabelEdit (NMHDR* pNMHDR, LRESULT*);
afx_msg BOOL OnEraseBkgnd (CDC* pDC);
afx_msg LRESULT OnFindItem (WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnGetColumn (WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnGetColumnOrderArray(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnGetColumnWidth (WPARAM wParam, LPARAM);
afx_msg BOOL OnGetdispinfo (NMHDR* pNMHDR, LRESULT*);
afx_msg LRESULT OnGetExtendedStyle (WPARAM, LPARAM);
afx_msg LRESULT OnGetItem (WPARAM, LPARAM lParam);
afx_msg LRESULT OnGetItemRect (WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnGetItemText (WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnGetSubItemRect (WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnHitTest (WPARAM, LPARAM lParam);
afx_msg void OnHScroll (UINT nSBCode, UINT nPos,
CScrollBar* pScrollBar);
afx_msg LRESULT OnInsertColumn (WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnInsertItem (WPARAM, LPARAM lParam);
afx_msg void OnKeyDown (UINT nChar, UINT nRepCnt,
UINT nFlags);
afx_msg void OnKeyUp (UINT nChar, UINT nRepCnt,
UINT nFlags);
afx_msg void OnKillFocus (CWnd* pNewWnd);
afx_msg void OnLButtonDblClk (UINT nFlags, CPoint point);
afx_msg void OnLButtonDown (UINT nFlags, CPoint point);
afx_msg void OnLButtonUp (UINT nFlags, CPoint point);
afx_msg LRESULT OnMouseLeave (WPARAM, LPARAM);
afx_msg void OnMouseMove (UINT, CPoint point);
afx_msg BOOL OnMouseWheel (UINT, short, CPoint pt);
afx_msg BOOL OnODCacheHint (NMHDR* pNMHDR, LRESULT*);
afx_msg void OnPaint ();
afx_msg LRESULT OnSetBkColor (WPARAM, LPARAM);
afx_msg LRESULT OnSetBkImage (WPARAM, LPARAM);
afx_msg LRESULT OnSetColumn (WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnSetColumnOrderArray(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnSetColumnWidth (WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnSetExtendedStyle (WPARAM wParam, LPARAM lParam);
afx_msg void OnSetFocus (CWnd* pOldWnd);
afx_msg LRESULT OnSetImageList (WPARAM wParam, LPARAM);
afx_msg LRESULT OnSetItem (WPARAM, LPARAM lParam);
afx_msg LRESULT OnSetItemText (WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnSortItems (WPARAM wParam, LPARAM lParam);
afx_msg void OnSysColorChange ();
DECLARE_MESSAGE_MAP()
};

View File

@@ -0,0 +1,100 @@
#include "stdafx.h"
#include "NFIni.h"
namespace Nave {
NFIni::NFIni()
{
ZeroMemory(m_szFileName, sizeof(m_szFileName));
}
NFIni::~NFIni()
{
}
BOOL NFIni::Open(LPCWSTR fileName)
{
if (!fileName)
return FALSE;
wcsncpy(m_szFileName, fileName, MAX_PATH);
return TRUE;
}
BOOL NFIni::Close()
{
return TRUE;
}
BOOL NFIni::GetValue(LPCWSTR keyName, LPCWSTR valueName, LPDWORD value)
{
if (!keyName || !valueName || !value)
return FALSE;
*value = GetPrivateProfileIntW(keyName, valueName, 0, m_szFileName);
return TRUE;
}
BOOL NFIni::GetValue(LPCWSTR keyName, LPCWSTR valueName, FLOAT *value)
{
if (!keyName || !valueName || !value)
return FALSE;
WCHAR Value[16] = {0,};
GetPrivateProfileStringW(keyName, valueName, L"", Value, 16, m_szFileName);
*value = (FLOAT)_wtof(Value);
return TRUE;
}
BOOL NFIni::GetValue(LPCWSTR keyName, LPCWSTR valueName, LPWSTR value, DWORD bufferLength)
{
if (!keyName || !valueName || !value || bufferLength == 0)
return FALSE;
GetPrivateProfileStringW(keyName, valueName, L"", value, bufferLength, m_szFileName);
return TRUE;
}
BOOL NFIni::SetValue(LPCWSTR keyName, LPCWSTR valueName, DWORD value)
{
if (!keyName || !valueName)
return FALSE;
WCHAR Value[16] = {0,};
_itow(value, Value, 10);
WritePrivateProfileStringW(keyName, valueName, Value, m_szFileName);
return TRUE;
}
BOOL NFIni::SetValue(LPCWSTR keyName, LPCWSTR valueName, LPCWSTR value)
{
if (!keyName || !valueName || !value)
return FALSE;
WritePrivateProfileStringW(keyName, valueName, value, m_szFileName);
return TRUE;
}
BOOL NFIni::SetValue(LPCWSTR keyName, LPCWSTR valueName, FLOAT value)
{
if (!keyName || !valueName)
return FALSE;
WCHAR Value[16] = {0,};
swprintf(Value, L"%f", value);
WritePrivateProfileStringW(keyName, valueName, Value, m_szFileName);
return TRUE;
}
}

View File

@@ -0,0 +1,103 @@
/**
* @file NFIni.h
* @brief INI <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks
* @author <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(edith2580@gmail.com)
* @date 2009-04-02
*/
#pragma once
namespace Nave {
/**
* @class NFIni
* @brief INI<4E><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD>
* @remarks NFIni ini; \r\n
* ini.Open(L"c:\\Init.ini"); \r\n
* ini.SetValue(L"SERVER CONFIG", L"PORT", dwPort); \r\n
* ini.Close(); \r\n
*
* @par
* @author Edith
* @date 2009-04-04
*/
class NFIni
{
public:
/// NFIni <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
NFIni();
/// NFIni <20>Ҹ<EFBFBD><D2B8><EFBFBD>
~NFIni();
public:
/**
* @brief INI<4E><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
* @param fileName <09><><EFBFBD>ϸ<EFBFBD>
* @return <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
BOOL Open(LPCWSTR fileName);
/**
* @brief INI<4E><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
* @return <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
BOOL Close();
/**
* @brief INI<4E><49><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
* @param keyName Key <20≯<EFBFBD>
* @param valueName Value <20≯<EFBFBD>
* @param value <09><>
* @return <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
BOOL SetValue(LPCWSTR keyName, LPCWSTR valueName, LPCWSTR value);
/**
* @brief INI<4E><49><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
* @param keyName Key <20≯<EFBFBD>
* @param valueName Value <20≯<EFBFBD>
* @param value <09><>
* @return <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
BOOL SetValue(LPCWSTR keyName, LPCWSTR valueName, DWORD value);
/**
* @brief INI<4E><49><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
* @param keyName Key <20≯<EFBFBD>
* @param valueName Value <20≯<EFBFBD>
* @param value <09><>
* @return <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
BOOL SetValue(LPCWSTR keyName, LPCWSTR valueName, FLOAT value);
/**
* @brief INI<4E><49><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ɴϴ<C9B4>.
* @param keyName Key <20≯<EFBFBD>
* @param valueName Value <20≯<EFBFBD>
* @param value <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
* @param bufferLength <09>۹<EFBFBD><DBB9><EFBFBD> <20><><EFBFBD><EFBFBD>
* @return <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
BOOL GetValue(LPCWSTR keyName, LPCWSTR valueName, LPWSTR value, DWORD bufferLength);
/**
* @brief INI<4E><49><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ɴϴ<C9B4>.
* @param keyName Key <20≯<EFBFBD>
* @param valueName Value <20≯<EFBFBD>
* @param value <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
* @return <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
BOOL GetValue(LPCWSTR keyName, LPCWSTR valueName, LPDWORD value);
/**
* @brief INI<4E><49><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ɴϴ<C9B4>.
* @param keyName Key <20≯<EFBFBD>
* @param valueName Value <20≯<EFBFBD>
* @param value <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
* @return <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
BOOL GetValue(LPCWSTR keyName, LPCWSTR valueName, FLOAT *value);
private:
/// INI <20><><EFBFBD>ϸ<EFBFBD>
WCHAR m_szFileName[MAX_PATH];
};
}

View File

@@ -0,0 +1,71 @@
================================================================================
MFC <20><><EFBFBD>̺귯<CCBA><EAB7AF> : WebInfoManager <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
================================================================================
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> WebInfoManager <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>. <20><> <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>α׷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E2BABB><EFBFBD><EFBFBD> MFC <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1> <20>ۼ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
<EFBFBD><EFBFBD> <20><><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD> WebInfoManager <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><> <20><><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><20><><EFBFBD>ԵǾ<D4B5>
<EFBFBD>ֽ<EFBFBD><EFBFBD>ϴ<EFBFBD>.
WebInfoManager.vcproj
<20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VC++ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
<20><> <20><><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Visual C++ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7BFA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD>,
<20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Ե˴ϴ<CBB4>.
WebInfoManager.h
<20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1><D7B7><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>. <20><> <20><><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD> <20>ٸ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD>õ<EFBFBD> Resource.h<><68> <20><><EFBFBD><EFBFBD>
Ư<><C6AF> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ԵǸ<D4B5> CWebInfoManagerApp <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>˴ϴ<CBB4>.
WebInfoManager.cpp
CWebInfoManagerApp <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1><D7B7><EFBFBD> <20>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
WebInfoManager.rc
<20><><EFBFBD>α׷<CEB1><D7B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD> Microsoft Windows <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
<20><> <20><><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD> RES <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD><CDB8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>Ʈ<EFBFBD><C6AE> <20><> Ŀ<><C4BF><EFBFBD><EFBFBD> <20><><EFBFBD>ԵǸ<D4B5>
Microsoft Visual C++<2B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ
<20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> 1042<34><32> <20><><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
res\WebInfoManager.ico
<20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
<20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WebInfoManager.rc<72><63> <20><><EFBFBD>Ե˴ϴ<CBB4>.
res\WebInfoManager.rc2
Microsoft Visual C++<2B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> <20><><EFBFBD>Ե<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
<20><><EFBFBD>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2BFA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> <20><> <20><><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD>ԵǾ<D4B5> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
/////////////////////////////////////////////////////////////////////////////
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7BFA1><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ȭ <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
WebInfoManagerDlg.h, WebInfoManagerDlg.cpp - <20><>ȭ <20><><EFBFBD><EFBFBD>
CWebInfoManagerDlg Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>. <20><> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1><D7B7><EFBFBD>
<20><> <20><>ȭ <20><><EFBFBD>ڿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ǵ˴ϴ<CBB4>. <20><>ȭ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ø<EFBFBD><C3B8><EFBFBD> WebInfoManager.rc<72><63>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Microsoft Visual C++<2B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
/////////////////////////////////////////////////////////////////////////////
<EFBFBD><EFBFBD>Ÿ ǥ<><C7A5> <20><><EFBFBD><EFBFBD>
StdAfx.h, StdAfx.cpp
<20≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(PCH) WebInfoManager.pch <20><> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> StdAfx.obj<62><6A> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
Resource.h
<20><><EFBFBD>ο<EFBFBD> <20><><EFBFBD>ҽ<EFBFBD> ID<49><44> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> ǥ<><C7A5> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
Microsoft Visual C++<2B><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>а<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD>մϴ<D5B4>.
/////////////////////////////////////////////////////////////////////////////
<EFBFBD><EFBFBD>Ÿ <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7BFA1><EFBFBD><EFBFBD> "TODO:"<22><> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20>߰<EFBFBD><DFB0>ϰų<CFB0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD> <20>ϴ<EFBFBD>
<EFBFBD>ҽ<EFBFBD> <20>ڵ带 <20><>Ÿ<EFBFBD><C5B8><EFBFBD>ϴ<EFBFBD>.
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1><D7B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> DLL<4C><4C> MFC<46><43> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1><D7B7><EFBFBD> <20><><EFBFBD><20> ü<><C3BC><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٸ<EFBFBD> <20><><EFBFBD><EFBFBD> Microsoft Visual C++ CD-ROM<4F><4D> Win\System <20><><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD><CDB8><EFBFBD> <20>ִ<EFBFBD>
<EFBFBD>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> MFC70XXX.DLL<4C><4C> <20><>ǻ<EFBFBD><C7BB><EFBFBD><EFBFBD> system <20>Ǵ<EFBFBD> system32 <20><><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD><CDB8><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> MFCLOC.DLL<4C><4C> <20≯<EFBFBD><CCB8><EFBFBD> <20>ٲپ<D9B2><D9BE><EFBFBD> <20>մϴ<D5B4>. "XXX"<22><> <20>ش<EFBFBD> <20><><EFBFBD><20><>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դϴ<EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> MFC70DEU.DLL<4C><4C><EFBFBD><EFBFBD> <20><><EFBFBD>Ͼ<EFBFBD><CFBE><EFBFBD> <20><>ȯ<EFBFBD><C8AF> <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> <20><><EFBFBD>Ե˴ϴ<CBB4>.
<EFBFBD>̷<EFBFBD> <20>۾<EFBFBD><DBBE><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1><D7B7><EFBFBD> <20>Ϻ<EFBFBD> UI <20><><EFBFBD>Ұ<EFBFBD> <20> ü<><C3BC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ְ<EFBFBD> <20>˴ϴ<CBB4>.
/////////////////////////////////////////////////////////////////////////////

Binary file not shown.

View File

@@ -0,0 +1,70 @@
// WebInfoManager.cpp : <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
//
#include "stdafx.h"
#include "WebInfoManager.h"
#include "WebInfoManagerDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CWebInfoManagerApp
BEGIN_MESSAGE_MAP(CWebInfoManagerApp, CWinApp)
ON_COMMAND(ID_HELP, CWinApp::OnHelp)
END_MESSAGE_MAP()
// CWebInfoManagerApp <20><><EFBFBD><EFBFBD>
CWebInfoManagerApp::CWebInfoManagerApp()
{
// TODO: <20><><EFBFBD><20><><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
// InitInstance<63><65> <20><><EFBFBD><EFBFBD> <20>߿<EFBFBD><DFBF><EFBFBD> <20>ʱ<EFBFBD>ȭ <20>۾<EFBFBD><DBBE><EFBFBD> <20><>ġ<EFBFBD>մϴ<D5B4>.
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CWebInfoManagerApp <20><>ü<EFBFBD>Դϴ<D4B4>.
CWebInfoManagerApp theApp;
// CWebInfoManagerApp <20>ʱ<EFBFBD>ȭ
BOOL CWebInfoManagerApp::InitInstance()
{
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1> <20>Ŵ<EFBFBD><C5B4>佺Ʈ<E4BDBA><C6AE> ComCtl32.dll <20><><EFBFBD><EFBFBD> 6 <20>̻<EFBFBD><CCBB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD>־<EFBFBD> <20><>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD>, Windows XP <20>󿡼<EFBFBD> <20>ݵ<EFBFBD><DDB5><EFBFBD> InitCommonControls()<29><> <20>ʿ<EFBFBD><CABF>մϴ<D5B4>.
// InitCommonControls()<29><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> â<><C3A2> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
InitCommonControls();
CWinApp::InitInstance();
// ǥ<><C7A5> <20>ʱ<EFBFBD>ȭ
// <20>̵<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʰ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<><20><><EFBFBD>̷<EFBFBD><CCB7><EFBFBD>
// <20>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD> <20>ʿ<EFBFBD> <20><><EFBFBD><EFBFBD> Ư<><C6AF> <20>ʱ<EFBFBD>ȭ <20><>ƾ<EFBFBD><C6BE> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD> <20>մϴ<D5B4>.
// <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> Ű<><C5B0> <20><><EFBFBD><EFBFBD><EFBFBD>Ͻʽÿ<CABD>.
// TODO: <20><> <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> ȸ<><C8B8> <20>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD> <20><><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD> <20>մϴ<D5B4>.
SetRegistryKey(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7BFA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1>"));
CWebInfoManagerDlg dlg;
m_pMainWnd = &dlg;
INT_PTR nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: <20><><EFBFBD><20><>ȭ <20><><EFBFBD>ڰ<EFBFBD> Ȯ<><C8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD>
// <20>ڵ带 <20><>ġ<EFBFBD>մϴ<D5B4>.
}
else if (nResponse == IDCANCEL)
{
// TODO: <20><><EFBFBD><20><>ȭ <20><><EFBFBD>ڰ<EFBFBD> <20><><EFBFBD>Ҹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD>
// <20>ڵ带 <20><>ġ<EFBFBD>մϴ<D5B4>.
}
// <20><>ȭ <20><><EFBFBD>ڰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1><D7B7><EFBFBD> <20>޽<EFBFBD><DEBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʰ<EFBFBD>
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20>ֵ<EFBFBD><D6B5><EFBFBD> FALSE<53><45> <20><>ȯ<EFBFBD>մϴ<D5B4>.
return FALSE;
}

View File

@@ -0,0 +1,31 @@
// WebInfoManager.h : PROJECT_NAME <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
//
#pragma once
#ifndef __AFXWIN_H__
#error PCH<43><48><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD> <20><><EFBFBD><EFBFBD> 'stdafx.h'<27><> <20><><EFBFBD><EFBFBD><EFBFBD>Ͻʽÿ<CABD>.
#endif
#include "resource.h" // <20><> <20><>ȣ
// CWebInfoManagerApp:
// <20><> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD> WebInfoManager.cpp<70><70> <20><><EFBFBD><EFBFBD><EFBFBD>Ͻʽÿ<CABD>.
//
class CWebInfoManagerApp : public CWinApp
{
public:
CWebInfoManagerApp();
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public:
virtual BOOL InitInstance();
// <20><><EFBFBD><EFBFBD>
DECLARE_MESSAGE_MAP()
};
extern CWebInfoManagerApp theApp;

View File

@@ -0,0 +1,10 @@
[DB]
IP=192.168.0.7
NAME=BBS
USER=nave
PASSWORD=nave0508
[STRING]
MSG_O01=DB<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ϸ<EFBFBD>
MSG_O02=DB<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>

View File

@@ -0,0 +1,190 @@
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// <20>ѱ<EFBFBD><D1B1><EFBFBD> resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)
#ifdef _WIN32
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
#pragma code_page(949)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE
BEGIN
"#define _AFX_NO_SPLITTER_RESOURCES\r\n"
"#define _AFX_NO_OLE_RESOURCES\r\n"
"#define _AFX_NO_TRACKER_RESOURCES\r\n"
"#define _AFX_NO_PROPERTY_RESOURCES\r\n"
"\r\n"
"#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)\r\n"
"LANGUAGE 18, 1\r\n"
"#pragma code_page(949)\r\n"
"#include ""res\\WebInfoManager.rc2"" // Microsoft Visual C++<2B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD>\r\n"
"#include ""afxres.rc"" // ǥ<><C7A5> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>\r\n"
"#endif\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDR_MAINFRAME ICON "res\\WebInfoManager.ico"
IDI_CLOSE ICON "res\\CLOSE.ICO"
IDI_OPEN ICON "res\\OPEN.ICO"
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_WEBINFOMANAGER_DIALOG DIALOGEX 0, 0, 214, 97
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE |
WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
CAPTION "WebInfoManager"
FONT 9, "MS Shell Dlg", 0, 0, 0x1
BEGIN
PUSHBUTTON "CANCEL",IDCANCEL,137,74,70,16,0,WS_EX_STATICEDGE
CTEXT "TODO: <20><><EFBFBD><20><>ȭ <20><><EFBFBD><EFBFBD> <20><>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> <20><>ġ<EFBFBD>մϴ<D5B4>.",IDC_INFO,7,
7,200,8
CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SINGLESEL |
LVS_SORTASCENDING | LVS_ALIGNLEFT | WS_BORDER |
WS_TABSTOP,7,18,128,72
PUSHBUTTON "Open",IDC_BUTTON1,137,18,70,16,0,WS_EX_STATICEDGE
PUSHBUTTON "Close",IDC_BUTTON2,137,36,70,16,0,WS_EX_STATICEDGE
END
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,1
PRODUCTVERSION 1,0,0,1
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "041203b5"
BEGIN
VALUE "CompanyName", "TODO: <ȸ<><C8B8> <20≯<EFBFBD>>"
VALUE "FileDescription", "TODO: <<3C><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>>"
VALUE "FileVersion", "1.0.0.1"
VALUE "InternalName", "WebInfoManager.exe"
VALUE "LegalCopyright", "TODO: (c) <ȸ<><C8B8> <20≯<EFBFBD>>. All rights reserved."
VALUE "OriginalFilename", "WebInfoManager.exe"
VALUE "ProductName", "TODO: <<3C><>ǰ <20≯<EFBFBD>>"
VALUE "ProductVersion", "1.0.0.1"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "<22><>ȯ", 0x412, 949
END
END
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO
BEGIN
IDD_WEBINFOMANAGER_DIALOG, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 207
TOPMARGIN, 7
BOTTOMMARGIN, 90
END
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Bitmap
//
IDB_HDRDOWN BITMAP "res\\hdrdown.bmp"
IDB_HDRUP BITMAP "res\\hdrup.bmp"
/////////////////////////////////////////////////////////////////////////////
//
// Cursor
//
IDC_HAND CURSOR "res\\hand.cur"
#endif // <20>ѱ<EFBFBD><D1B1><EFBFBD> resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
#define _AFX_NO_SPLITTER_RESOURCES
#define _AFX_NO_OLE_RESOURCES
#define _AFX_NO_TRACKER_RESOURCES
#define _AFX_NO_PROPERTY_RESOURCES
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)
LANGUAGE 18, 1
#pragma code_page(949)
#include "res\WebInfoManager.rc2" // Microsoft Visual C++<2B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD>
#include "afxres.rc" // ǥ<><C7A5> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
#endif
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED

View File

@@ -0,0 +1,217 @@
<?xml version="1.0" encoding="ks_c_5601-1987"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="WebInfoManager"
ProjectGUID="{886143F3-F381-4176-B517-253F20BDF1AB}"
Keyword="MFCProj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="../DBToolExecutable/$(ConfigurationName)"
IntermediateDirectory="../Intermediate/$(ProjectName)/$(ConfigurationName)"
ConfigurationType="1"
UseOfMFC="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../;./;../../RylServerProject/;../../RylServerProject/BaseLibrary;../../RylServerProject/RylGameLibrary;../../RylServerProject/RylServerLibrary"
PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
TreatWChar_tAsBuiltInType="TRUE"
UsePrecompiledHeader="3"
WarningLevel="3"
Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="4"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="uxtheme.lib"
LinkIncremental="2"
GenerateDebugInformation="TRUE"
SubSystem="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="FALSE"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1042"
AdditionalIncludeDirectories="$(IntDir)"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="../DBToolExecutable/$(ConfigurationName)"
IntermediateDirectory="../Intermediate/$(ProjectName)/$(ConfigurationName)"
ConfigurationType="1"
UseOfMFC="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="../;./;../../RylServerProject/;../../RylServerProject/BaseLibrary;../../RylServerProject/RylGameLibrary;../../RylServerProject/RylServerLibrary"
PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG"
MinimalRebuild="FALSE"
RuntimeLibrary="0"
TreatWChar_tAsBuiltInType="TRUE"
UsePrecompiledHeader="3"
WarningLevel="3"
Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="uxtheme.lib"
LinkIncremental="1"
GenerateDebugInformation="TRUE"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="FALSE"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1042"
AdditionalIncludeDirectories="$(IntDir)"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="<22>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD>"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath=".\ListViewCtrlEx.cpp">
</File>
<File
RelativePath=".\stdafx.cpp">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32">
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"/>
</FileConfiguration>
</File>
<File
RelativePath=".\WebInfoManager.cpp">
</File>
<File
RelativePath=".\WebInfoManagerDlg.cpp">
</File>
</Filter>
<Filter
Name="<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
<File
RelativePath=".\ListViewCtrlEx.h">
</File>
<File
RelativePath=".\Resource.h">
</File>
<File
RelativePath=".\stdafx.h">
</File>
<File
RelativePath=".\WebInfoManager.h">
</File>
<File
RelativePath=".\WebInfoManagerDlg.h">
</File>
</Filter>
<Filter
Name="<22><><EFBFBD>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD>"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
<File
RelativePath=".\res\CLOSE.ICO">
</File>
<File
RelativePath=".\res\hand.cur">
</File>
<File
RelativePath=".\res\hdrdown.bmp">
</File>
<File
RelativePath=".\res\hdrup.bmp">
</File>
<File
RelativePath=".\res\OPEN.ICO">
</File>
<File
RelativePath=".\res\WebInfoManager.ico">
</File>
<File
RelativePath=".\WebInfoManager.rc">
</File>
<File
RelativePath=".\res\WebInfoManager.rc2">
</File>
</Filter>
<File
RelativePath=".\ReadMe.txt">
</File>
<File
RelativePath=".\res\WebInfoManager.manifest">
</File>
</Files>
<Globals>
<Global
Name="RESOURCE_FILE"
Value="WebInfoManager.rc"/>
</Globals>
</VisualStudioProject>

View File

@@ -0,0 +1,237 @@
// WebInfoManagerDlg.cpp : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
//
#include "stdafx.h"
#include "WebInfoManager.h"
#include "WebInfoManagerDlg.h"
#include ".\webinfomanagerdlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CWebInfoManagerDlg <20><>ȭ <20><><EFBFBD><EFBFBD>
const CHAR g_szSetupFileName[] = "./WebInfoManager.ini";
const CString CECListCtrlEx::GetToolTip(int, int, UINT nFlags, BOOL&)
{
CString str = "";
// if (nFlags == LVHT_ONITEMICON) VERIFY(str.LoadString(IDS_FLAG));
return str;
}
CWebInfoManagerDlg::CWebInfoManagerDlg(CWnd* pParent /*=NULL*/)
: CDialog(CWebInfoManagerDlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CWebInfoManagerDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_INFO, m_InfoTitle);
DDX_Control(pDX, IDC_LIST1, m_ServerListCtrl);
}
BEGIN_MESSAGE_MAP(CWebInfoManagerDlg, CDialog)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedButton1)
ON_BN_CLICKED(IDC_BUTTON2, OnBnClickedButton2)
END_MESSAGE_MAP()
// CWebInfoManagerDlg <20>޽<EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD>
bool ReadStringFromReg(const TCHAR *FileName_In, const TCHAR *Section_In,
const TCHAR *KeyName_In, CString& Value_Out, int nMaxBuffer = 512)
{
TCHAR* szBuffer =
reinterpret_cast<TCHAR*>(_alloca(nMaxBuffer * sizeof(TCHAR)));
if (0 <= GetPrivateProfileString(Section_In, KeyName_In, "", szBuffer, nMaxBuffer, FileName_In))
{
Value_Out.SetString(szBuffer);
return true;
}
return false;
}
BOOL CWebInfoManagerDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// <20><> <20><>ȭ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1><D7B7><EFBFBD> <20><> â<><C3A2> <20><>ȭ <20><><EFBFBD>ڰ<EFBFBD> <20>ƴ<EFBFBD> <20><><EFBFBD><EFBFBD><ECBFA1>
// <20><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>ũ<EFBFBD><C5A9> <20><> <20>۾<EFBFBD><DBBE><EFBFBD> <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
SetIcon(m_hIcon, TRUE); // ū <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
SetIcon(m_hIcon, FALSE); // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
// TODO: <20><><EFBFBD><20>߰<EFBFBD> <20>ʱ<EFBFBD>ȭ <20>۾<EFBFBD><DBBE><EFBFBD> <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
ReadStringFromReg(g_szSetupFileName, "DB", "IP", m_IP);
ReadStringFromReg(g_szSetupFileName, "DB", "NAME", m_NAME);
ReadStringFromReg(g_szSetupFileName, "DB", "USER", m_USER);
ReadStringFromReg(g_szSetupFileName, "DB", "PASSWORD", m_PASS);
m_InitFlag = FALSE;
if(!m_DBComp.Connect(m_IP, m_NAME, m_USER, m_PASS))
AfxMessageBox("DB<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>");
else
m_InitFlag = TRUE;
CString title;
if(m_InitFlag)
ReadStringFromReg(g_szSetupFileName, "STRING", "MSG_O01", title);
else
ReadStringFromReg(g_szSetupFileName, "STRING", "MSG_O02", title);
m_InfoTitle.SetWindowText(title);
m_imglstFlags.Create(16, 16, ILC_MASK, 3, 0);
m_imglstFlags.Add(theApp.LoadIcon(IDI_CLOSE));
m_imglstFlags.Add(theApp.LoadIcon(IDI_CLOSE));
m_imglstFlags.Add(theApp.LoadIcon(IDI_OPEN));
m_ServerListCtrl.SetExtendedStyle(
LVS_EX_FULLROWSELECT | LVS_EX_INFOTIP |
LVS_EX_LABELTIP | LVS_EX_CHECKBOXES);
m_ServerListCtrl.SetImageList(&m_imglstFlags, LVSIL_SMALL);
m_ServerListCtrl.InsertColumn(0, "ID", LVCFMT_LEFT, 200);
m_ServerListCtrl.EnableColumnHiding(0, true);
// m_ServerListCtrl.InsertColumn(1, "Status", LVCFMT_LEFT, 100);
UpdateServerList();
return TRUE; // <20><>Ʈ<EFBFBD>ѿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> TRUE<55><45> <20><>ȯ<EFBFBD>մϴ<D5B4>.
}
void CWebInfoManagerDlg::UpdateServerList()
{
///////////////////////////////////////////////////////////////////////////////////
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
m_vetServer.clear();
char szQuery[1024];
strcpy(szQuery, "SELECT id, server, status FROM ServerStatus");
if (!m_DBComp.ExecuteQuery(szQuery))
{
return;
}
SERVERSTATUS info[10];
while(true)
{
int iCount = 0;
if( !m_DBComp.GetData((void**)&info, sizeof(SERVERSTATUS), 10, &iCount) )
break;
for(int i = 0; i < iCount; ++i)
m_vetServer.push_back(info[i]);
if(iCount == 0)
break;
}
m_ServerListCtrl.DeleteAllItems();
CString str;
int iCount = m_vetServer.size();
for(int i = 0; i < iCount; ++i)
{
m_ServerListCtrl.InsertItem(
LVIF_IMAGE | LVIF_PARAM | LVIF_TEXT, i, m_vetServer[i].name,
INDEXTOSTATEIMAGEMASK(1), LVIS_STATEIMAGEMASK, m_vetServer[i].status+1, 0);
}
}
// <20><>ȭ <20><><EFBFBD>ڿ<EFBFBD> <20>ּ<EFBFBD>ȭ <20><><EFBFBD>߸<EFBFBD> <20>߰<EFBFBD><DFB0><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>׸<EFBFBD><D7B8><EFBFBD><EFBFBD><EFBFBD>
// <20>Ʒ<EFBFBD> <20>ڵ尡 <20>ʿ<EFBFBD><CABF>մϴ<D5B4>. <20><><EFBFBD><EFBFBD>/<2F><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> MFC <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD><ECBFA1>
// <20><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>ũ<EFBFBD><C5A9><EFBFBD><EFBFBD> <20><> <20>۾<EFBFBD><DBBE><EFBFBD> <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
void CWebInfoManagerDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // <20>׸<EFBFBD><D7B8><20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD> <20><><EFBFBD>ؽ<EFBFBD>Ʈ
SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
// Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20><EFBFBD><E7B0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EEB5A5> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>׸<EFBFBD><D7B8>ϴ<EFBFBD>.
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
// <20><><EFBFBD><EFBFBD><EFBFBD>ڰ<EFBFBD> <20>ּ<EFBFBD>ȭ<EFBFBD><C8AD> â<><C3A2> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ȿ<EFBFBD> Ŀ<><C4BF><EFBFBD><EFBFBD> ǥ<>õǵ<C3B5><C7B5><EFBFBD> <20>ý<EFBFBD><C3BD>ۿ<EFBFBD><DBBF><EFBFBD>
// <20><> <20>Լ<EFBFBD><D4BC><EFBFBD> ȣ<><C8A3><EFBFBD>մϴ<D5B4>.
HCURSOR CWebInfoManagerDlg::OnQueryDragIcon()
{
return static_cast<HCURSOR>(m_hIcon);
}
void CWebInfoManagerDlg::OnBnClickedButton1()
{
// TODO: <20><><EFBFBD><20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
int iCount = m_vetServer.size();
char szQuery[1024];
for(int i = 0; i < iCount; ++i)
{
if(m_ServerListCtrl.GetCheck(i))
{
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
sprintf(szQuery, "UPDATE ServerStatus SET [status] = 1 WHERE id = %d", m_vetServer[i].id);
m_DBComp.ExecuteQuery(szQuery);
}
}
UpdateServerList();
}
void CWebInfoManagerDlg::OnBnClickedButton2()
{
// TODO: <20><><EFBFBD><20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
int iCount = m_vetServer.size();
char szQuery[1024];
for(int i = 0; i < iCount; ++i)
{
if(m_ServerListCtrl.GetCheck(i))
{
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
sprintf(szQuery, "UPDATE ServerStatus SET [status] = 0 WHERE id = %d", m_vetServer[i].id);
m_DBComp.ExecuteQuery(szQuery);
}
}
UpdateServerList();
}

View File

@@ -0,0 +1,67 @@
// WebInfoManagerDlg.h : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
//
#pragma once
#include <RylServerLibrary/DB/DBComponent.h>
#include "afxwin.h"
#include <vector>
#include "afxcmn.h"
#include "ListViewCtrlEx.h"
typedef struct SERVERSTATUS
{
int id;
char name[20];
short status;
}*LPSERVERSTATUS;
class CECListCtrlEx: public CListCtrlEx
{
public:
const CString GetToolTip(int, int, UINT nFlags, BOOL&);
};
// CWebInfoManagerDlg <20><>ȭ <20><><EFBFBD><EFBFBD>
class CWebInfoManagerDlg : public CDialog
{
// <20><><EFBFBD><EFBFBD>
public:
CWebInfoManagerDlg(CWnd* pParent = NULL); // ǥ<><C7A5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><>ȭ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
enum { IDD = IDD_WEBINFOMANAGER_DIALOG };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV <20><><EFBFBD><EFBFBD>
void UpdateServerList();
// <20><><EFBFBD><EFBFBD>
protected:
HICON m_hIcon;
BOOL m_InitFlag;
CDBComponent m_DBComp;
CString m_IP;
CString m_NAME;
CString m_USER;
CString m_PASS;
std::vector<SERVERSTATUS> m_vetServer;
// <20>޽<EFBFBD><DEBD><EFBFBD> <20><> <20>Լ<EFBFBD><D4BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD>ϴ<EFBFBD>.
virtual BOOL OnInitDialog();
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
DECLARE_MESSAGE_MAP()
public:
CStatic m_InfoTitle;
CECListCtrlEx m_ServerListCtrl;
CImageList m_imglstFlags;
afx_msg void OnBnClickedButton1();
afx_msg void OnBnClickedButton2();
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="X86"
name="Microsoft.Windows.WebInfoManager"
type="win32"
/>
<description>여기에 응용 프로그램 설명을 추가합니다.</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>

View File

@@ -0,0 +1,13 @@
//
// WebInfoManager.RC2 - resources Microsoft Visual C++<2B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> <20><><EFBFBD>ҽ<EFBFBD>
//
#ifdef APSTUDIO_INVOKED
#error <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Microsoft Visual C++<2B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
#endif //APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
// <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
/////////////////////////////////////////////////////////////////////////////

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 B

View File

@@ -0,0 +1,25 @@
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by WebInfoManager.rc
//
#define IDD_WEBINFOMANAGER_DIALOG 102
#define IDR_MAINFRAME 128
#define IDB_HDRDOWN 129
#define IDB_HDRUP 130
#define IDI_CLOSE 133
#define IDI_OPEN 134
#define IDC_INFO 1000
#define IDC_LIST1 1001
#define IDC_BUTTON1 1002
#define IDC_BUTTON2 1003
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 135
#define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 1003
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif

View File

@@ -0,0 +1,7 @@
// stdafx.cpp : ǥ<><C7A5> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
// WebInfoManager.pch<63><68> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>˴ϴ<CBB4>.
// stdafx.obj<62><6A> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
#include "stdafx.h"

View File

@@ -0,0 +1,54 @@
// stdafx.h : <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʰ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>
// ǥ<><C7A5> <20>ý<EFBFBD><C3BD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
#pragma once
/*
#ifndef VC_EXTRALEAN
#define VC_EXTRALEAN // Windows <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ܽ<EFBFBD>ŵ<EFBFBD>ϴ<EFBFBD>.
#endif
// <20>Ʒ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD>ϴ<EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ǹ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͻʽÿ<CABD>.
// <20>ٸ<EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD> <20>ֽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MSDN<44><4E> <20><><EFBFBD><EFBFBD><EFBFBD>Ͻʽÿ<CABD>.
#ifndef WINVER // Windows 95 <20><> Windows NT 4 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
#define WINVER 0x0400 // Windows 98<39><38> Windows 2000 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>µ<EFBFBD><C2B5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽʽÿ<CABD>.
#endif
#ifndef _WIN32_WINNT // Windows NT 4 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
#define _WIN32_WINNT 0x0400 // Windows 98<39><38> Windows 2000 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>µ<EFBFBD><C2B5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽʽÿ<CABD>.
#endif
#ifndef _WIN32_WINDOWS // Windows 98 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
#define _WIN32_WINDOWS 0x0410 // Windows Me <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>µ<EFBFBD><C2B5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽʽÿ<CABD>.
#endif
#ifndef _WIN32_IE // IE 4.0 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
#define _WIN32_IE 0x0400 // IE 5.0 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>µ<EFBFBD><C2B5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽʽÿ<CABD>.
#endif
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // <20>Ϻ<EFBFBD> CString <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>˴ϴ<CBB4>.
// MFC<46><43> <20><><EFBFBD><EFBFBD> <20>κа<CEBA> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>޽<EFBFBD><DEBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
#define _AFX_ALL_WARNINGS
#include <afxwin.h> // MFC <20>ٽ<EFBFBD> <20><> ǥ<><C7A5> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
#include <afxext.h> // MFC <20>ͽ<EFBFBD><CDBD>ټ<EFBFBD>
#include <afxdtctl.h> // Internet Explorer 4 <20><><EFBFBD><EFBFBD> <20><>Ʈ<EFBFBD>ѿ<EFBFBD> <20><><EFBFBD><EFBFBD> MFC <20><><EFBFBD><EFBFBD>
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h> // Windows <20><><EFBFBD><EFBFBD> <20><>Ʈ<EFBFBD>ѿ<EFBFBD> <20><><EFBFBD><EFBFBD> MFC <20><><EFBFBD><EFBFBD>
#endif // _AFX_NO_AFXCMN_SUPPORT
*/
#define _CRT_SECURE_NO_DEPRECATE
#include <afx.h>
#include <afxcmn.h>
#include <afxcview.h>
#include <afxdlgs.h>
#include <afxdisp.h>
#include <afxtempl.h>
#include <shlwapi.h>
#if _MSC_VER >= 1500
#include <vsstyle.h>
#endif
#include "resource.h"