簡単なセットアッププログラム

  lightbox.lib と lightbox.h を VC++ のプロダクトディレクトリにコピー



  
#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" );

}
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ