2024-12-21 10:04:04 +08:00
// MakeTorrent.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 "MakeTorrent.h"
# include "MakeTorrentDlg.h"
# ifdef _DEBUG
# define new DEBUG_NEW
# endif
// CMakeTorrentApp
BEGIN_MESSAGE_MAP ( CMakeTorrentApp , CWinApp )
ON_COMMAND ( ID_HELP , & CWinApp : : OnHelp )
END_MESSAGE_MAP ( )
// CMakeTorrentApp <20> <> <EFBFBD> <EFBFBD>
CMakeTorrentApp : : CMakeTorrentApp ( )
{
// 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> .
// _CrtSetBreakAlloc( 152 );
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> CMakeTorrentApp <20> <> ü<EFBFBD> Դϴ<D4B4> .
CMakeTorrentApp theApp ;
// CMakeTorrentApp <20> ʱ<EFBFBD> ȭ
BOOL CMakeTorrentApp : : 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> " ) ) ;
LPCWSTR cmdLine = GetCommandLine ( ) ;
int nArgNum = 0 ;
LPWSTR * argv = CommandLineToArgvW ( cmdLine , & nArgNum ) ;
bool bMake = false ;
if ( argv & & nArgNum > 1 )
{
LoadConfig ( ) ;
if ( nArgNum = = 2 )
{
m_strMakeFileName = argv [ 1 ] ;
}
else if ( nArgNum = = 3 )
{
m_strWebSeeds = argv [ 2 ] ;
}
else if ( nArgNum = = 4 )
{
m_strTrackers = argv [ 3 ] ;
}
LocalFree ( argv ) ;
return MakeTorrent ( m_strMakeFileName . c_str ( ) , m_strWebSeeds . c_str ( ) , m_strTrackers . c_str ( ) ) ;
}
CMakeTorrentDlg 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 ;
}
void CMakeTorrentApp : : LoadConfig ( )
{
FILE * fp ;
fopen_s ( & fp , " MakeTorrent.cfg " , " rt " ) ;
if ( fp = = NULL ) return ;
char szTemp [ 1024 ] ;
TCHAR szWTemp [ 1024 ] ;
memset ( szTemp , 0 , sizeof ( szTemp ) ) ;
memset ( szWTemp , 0 , sizeof ( szWTemp ) ) ;
fread ( szTemp , 1 , 1024 , fp ) ;
MultiByteToWideChar ( CP_ACP , 0 , szTemp , - 1 , szWTemp , sizeof ( TCHAR ) * 1024 ) ;
std : : wstring wstrTemp = szWTemp ;
std : : vector < std : : wstring > tokens ;
TokenizeW ( wstrTemp , tokens , std : : wstring ( L " \r \n " ) ) ;
LPCTSTR strMakeFileName = L " makefilename: " ;
LPCTSTR strWebSeeds = L " webseeds: " ;
LPCTSTR strTrackers = L " trackers: " ;
for ( int i = 0 ; i < ( int ) tokens . size ( ) ; i + + )
{
tokens [ i ] . erase ( remove_if ( tokens [ i ] . begin ( ) , tokens [ i ] . end ( ) , iswspace ) , tokens [ i ] . end ( ) ) ;
if ( NULL ! = StrStr ( tokens [ i ] . c_str ( ) , strMakeFileName ) )
{
tokens [ i ] . erase ( 0 , tokens [ i ] . find ( L " : " ) + 1 ) ;
m_strMakeFileName = tokens [ i ] ;
}
else if ( NULL ! = StrStr ( tokens [ i ] . c_str ( ) , strWebSeeds ) )
{
tokens [ i ] . erase ( 0 , tokens [ i ] . find ( L " : " ) + 1 ) ;
m_strWebSeeds = tokens [ i ] ;
}
else if ( NULL ! = StrStr ( tokens [ i ] . c_str ( ) , strTrackers ) )
{
tokens [ i ] . erase ( 0 , tokens [ i ] . find ( L " : " ) + 1 ) ;
m_strTrackers = tokens [ i ] ;
}
}
tokens . clear ( ) ;
fclose ( fp ) ;
}