|
#include <lightbox.h>
void MyInstall( void );
LboxDlg *Dlg;
LboxReg *Reg;
LboxListbox *List;
LRESULT CALLBACK About( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam )
{
switch( message ) {
case WM_INITDIALOG:
Dlg = new LboxDlg( hDlg );
List = new LboxListbox( GetDlgItem( hDlg, IDC_LIST1 ) );
List->SetFont( 0, 12, false );
Reg = new LboxReg(
HKEY_LOCAL_MACHINE,
"SOFTWARE\\"
"Microsoft\\"
"VisualStudio\\"
"6.0\\"
"Setup\\"
"Microsoft Visual C++"
);
SetFocus( GetDlgItem( hDlg, IDC_BUTTON1 ) );
return FALSE;
case WM_COMMAND:
if( LOWORD(wParam) == IDCANCEL ) {
delete List;
delete Reg;
delete Dlg;
EndDialog(hDlg, LOWORD(wParam));
return TRUE;
}
if( LOWORD(wParam) == IDC_BUTTON1 ) {
if ( Dlg->MsgBox(
hDlg,
"インストールを開始しますか?",
"lightbox",
MB_OKCANCEL ) ) {
MyInstall( );
Dlg->MsgOk( "インストールを終了しました" );
}
return TRUE;
}
break;
}
return FALSE;
}
LboxString Buffer;
LboxString Path;
LboxString From;
LboxString To;
int ret;
// *********************************************************
// インストール処理
// *********************************************************
void MyCopy( LPTSTR lpPlace, LPTSTR lpTarget )
{
ZeroMemory( To.szLboxString, MAX_PATH );
To.operator += ( &Buffer );
To.AddBackslash();
To.operator += ( lpPlace );
To.AddBackslash();
To.operator += ( lpTarget );
ZeroMemory( From.szLboxString, MAX_PATH );
From.operator += ( &Path );
From.AddBackslash();
From.operator += ( lpTarget );
SHFILEOPSTRUCT sf;
ZeroMemory( &sf, sizeof( sf ) );
sf.hwnd = Dlg->hDlg;
sf.wFunc = FO_COPY;
sf.pFrom = From.szLboxString;
sf.pTo = To.szLboxString;
ret = SHFileOperation( &sf );
if ( ret == 0 ) {
Dlg->ListPrintf(
IDC_LIST1, "%s をコピーしました", From.szLboxString
);
}
else {
Dlg->ListPrintf(
IDC_LIST1, "%s をコピーできません", From.szLboxString
);
}
}
// *********************************************************
// インストール処理
// *********************************************************
void MyInstall( void )
{
Buffer.Resize( MAX_PATH );
Path.Resize( MAX_PATH );
From.Resize( MAX_PATH );
To.Resize( MAX_PATH );
Dlg->CurrentDirectory( &Path );
Reg->GetStrValue( "ProductDir", &Buffer );
MyCopy( "Include", "lightbox.h" );
MyCopy( "Lib", "lightbox.lib" );
MyCopy( "Include", "LboxDatabase.h" );
MyCopy( "Include", "lightbox_nt5.h" );
MyCopy( "Lib", "lightbox_nt5.lib" );
MyCopy( "Include", "lightbox_gd2.h" );
MyCopy( "Lib", "lightbox_gd2.lib" );
}
| |