ドラッグ&ドロップによるAP起動
起動パラメータの取得
/////////////////////////////////////////////////////////////////////////////
// CWinTailApp クラスの初期化
BOOL CWinTailApp::InitInstance()
{
if (!AfxSocketInit())
{
AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
return FALSE;
}
AfxEnableControlContainer();
// 標準的な初期化処理
// もしこれらの機能を使用せず、実行ファイルのサイズを小さく
// したければ以下の特定の初期化ルーチンの中から不必要なもの
// を削除してください。
#ifdef _AFXDLL
Enable3dControls(); // 共有 DLL の中で MFC を使用する場合にはここを呼び出してください。
#else
Enable3dControlsStatic(); // MFC と静的にリンクしている場合にはここを呼び出してください。
#endif
// 設定が保存される下のレジストリ キーを変更します。
// TODO: この文字列を、会社名または所属など適切なものに
// 変更してください。
SetRegistryKey(_T("Local AppWizard-Generated Applications"));
LoadStdProfileSettings(); // 標準の INI ファイルのオプションをロードします (MRU を含む)
// アプリケーション用のドキュメント テンプレートを登録します。ドキュメント テンプレート
// はドキュメント、フレーム ウィンドウとビューを結合するために機能します。
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CWinTailDoc),
RUNTIME_CLASS(CMainFrame), // メイン SDI フレーム ウィンドウ
RUNTIME_CLASS(CWinTailView));
AddDocTemplate(pDocTemplate);
// DDE、file open など標準のシェル コマンドのコマンドラインを解析します。
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
// コマンドラインでディスパッチ コマンドを指定します。
if (!ProcessShellCommand(cmdInfo))
return FALSE;
// メイン ウィンドウが初期化されたので、表示と更新を行います。
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
// 起動パラメータにファイル名があれば取得する
if( strlen(CWinApp::m_lpCmdLine) != 0 )
{
::MessageBox( NULL, "OK", "File Name", MB_OK | MB_ICONINFORMATION );
E_ReadFileName = CWinApp::m_lpCmdLine;
::MessageBox( NULL, E_ReadFileName, "File Name", MB_OK | MB_ICONINFORMATION );
// MainFrmクラスへファイルがファイルが選択された事を通知する
::SendMessage( E_WinHdl_Main, D_MSG_FILESELECTED, NULL, NULL );
}
else
{
::MessageBox( NULL, "NG", "File Name", MB_OK | MB_ICONINFORMATION );
;
}
return TRUE; }起動パラメータの取得方法は簡単でCWinApp::m_lpCmdLineに入っています。