MFCでexe起動。終了を待つ。

CString exe_path;
exe_path = "c:\\hogehoge.exe";

SHELLEXECUTEINFO	sei = { 0 };
//構造体のサイズ
sei.cbSize = sizeof(SHELLEXECUTEINFO);
//起動側のウインドウハンドル
sei.hwnd = NULL;
//起動後の表示状態
sei.nShow = SW_SHOWNORMAL;
//このパラメータが重要で、セットしないとSHELLEXECUTEINFO構造体のhProcessメンバがセットされない。
sei.fMask = SEE_MASK_NOCLOSEPROCESS;
//起動プログラム
sei.lpFile = exe_path.GetBuffer(0);

//実行ディレクトリ指定するなら
//sei.lpDirectory

// 実行時にパラメータつけるなら
//sei.lpParameters

//プロセス起動
if (!ShellExecuteEx(&sei) || (const int)sei.hInstApp <= 32) {
	// 失敗
	return;
}
//終了を待つ
WaitForSingleObject(sei.hProcess, INFINITE);

ネタ元

hp.vector.co.jp

CFileを使ったファイルの一発読み書き

読み

	CFile	f;
	CString writeData="";

	if ( f.Open("test.txt",CFile::modeRead)	==	TRUE)
	{
		unsigned int	flen = (unsigned int)f.GetLength();
		unsigned char *data = (unsigned char *)malloc(flen+1);
		if ( data	!= NULL )
		{
			f.Read(data,flen);
			data[flen]	=	0;
			writeData =	data; 
			free(data);
			f.Close();
		}
	}

書き

	CFile	f;
	CString writeData="abcdefg";
	if ( f.Open("test.txt",CFile::modeCreate | CFile::modeWrite)	==	TRUE)
	{
		f.Write(writeData.GetBuffer(),writeData.GetLength());
		f.Close();
	}

ネタ元

blog.goo.ne.jp