2024-12-21 10:04:04 +08:00
// DnAutoUpdate.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 "DnAutoUpdate.h"
# include "DnAutoUpdateDlg.h"
# ifdef _DEBUG
# define new DEBUG_NEW
# endif
extern CString g_strHttpPath ;
extern CString g_strLocalPath ;
extern vector < int > g_vecUpdateVersion ;
// CDnAutoUpdateApp
BEGIN_MESSAGE_MAP ( CDnAutoUpdateApp , CWinApp )
ON_COMMAND ( ID_HELP , & CWinApp : : OnHelp )
END_MESSAGE_MAP ( )
int __cdecl DefautAllocHook ( int , void * , size_t , int , long , const unsigned char * , int )
{
return 1 ;
}
int __cdecl MyAllocHook (
int nAllocType ,
void * pvData ,
size_t nSize ,
int nBlockUse ,
long lRequest ,
const unsigned char * szFileName ,
int nLine
)
{
if ( nAllocType = = _HOOK_ALLOC & & nSize = = 196 )
{
int a = 0 ;
}
return 1 ;
}
// CDnAutoUpdateApp <20> <> <EFBFBD> <EFBFBD>
CDnAutoUpdateApp : : CDnAutoUpdateApp ( )
{
// 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> .
// _CrtSetAllocHook( MyAllocHook );
// _CrtSetBreakAlloc(59925);
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> CDnAutoUpdateApp <20> <> ü<EFBFBD> Դϴ<D4B4> .
CDnAutoUpdateApp theApp ;
// CDnAutoUpdateApp <20> ʱ<EFBFBD> ȭ
BOOL CDnAutoUpdateApp : : 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> InitCommonControlsEx()<29> <> <20> ʿ<EFBFBD> <CABF> մϴ<D5B4> .
// InitCommonControlsEx()<29> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> â<> <C3A2> <20> <> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> .
INITCOMMONCONTROLSEX InitCtrls ;
InitCtrls . dwSize = sizeof ( InitCtrls ) ;
// <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> α <CEB1> <D7B7> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> Ʈ<EFBFBD> <C6AE> Ŭ<> <C5AC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϵ<EFBFBD> <CFB5> <EFBFBD>
// <20> <> <20> <EFBFBD> <D7B8> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ͻʽ ÿ<CABD> .
InitCtrls . dwICC = ICC_WIN95_CLASSES ;
InitCommonControlsEx ( & InitCtrls ) ;
CWinApp : : InitInstance ( ) ;
AfxEnableControlContainer ( ) ;
// ǥ<> <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> " ) ) ;
CString strCmdLine = m_lpCmdLine ;
int nIndex = strCmdLine . Find ( ' | ' ) ;
g_strHttpPath = strCmdLine . Left ( nIndex ) ;
strCmdLine . Delete ( 0 , nIndex + 1 ) ;
nIndex = strCmdLine . Find ( ' | ' ) ;
g_strLocalPath = strCmdLine . Left ( nIndex ) ;
strCmdLine . Delete ( 0 , nIndex + 1 ) ;
nIndex = strCmdLine . Find ( ' - ' ) ;
char szTemp [ 256 ] = { 0 , } ;
WideCharToMultiByte ( CP_ACP , 0 , strCmdLine . Left ( nIndex ) . GetBuffer ( ) , - 1 , szTemp , sizeof ( szTemp ) , NULL , NULL ) ;
int nStartVersion = atoi ( szTemp ) ;
strCmdLine . Delete ( 0 , nIndex + 1 ) ;
WideCharToMultiByte ( CP_ACP , 0 , strCmdLine . GetBuffer ( ) , - 1 , szTemp , sizeof ( szTemp ) , NULL , NULL ) ;
int nTargetVersion = atoi ( szTemp ) ;
if ( g_strHttpPath . GetLength ( ) = = 0 | | g_strLocalPath . GetLength ( ) = = 0 )
return FALSE ;
if ( nStartVersion = = 0 | | nTargetVersion = = 0 | | nStartVersion > nTargetVersion )
return FALSE ;
for ( int i = nStartVersion ; i < = nTargetVersion ; i + + )
g_vecUpdateVersion . push_back ( i ) ;
CDnAutoUpdateDlg dlg ;
m_pMainWnd = & dlg ;
INT_PTR nResponse = dlg . DoModal ( ) ;
if ( nResponse = = IDOK )
{
// TODO: <20> <> <EFBFBD> [Ȯ<> <C8AE> ]<5D> <> Ŭ<> <C5AC> <EFBFBD> Ͽ<EFBFBD> <20> <> ȭ <20> <> <EFBFBD> ڰ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ó<> <C3B3> <EFBFBD> <EFBFBD>
// <20> ڵ带 <20> <> ġ<EFBFBD> մϴ<D5B4> .
}
else if ( nResponse = = IDCANCEL )
{
// TODO: <20> <> <EFBFBD> [<5B> <> <EFBFBD> <EFBFBD> ]<5D> <> Ŭ<> <C5AC> <EFBFBD> Ͽ<EFBFBD> <20> <> ȭ <20> <> <EFBFBD> ڰ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ó<> <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 ;
}