ドラッグ&ドロップによる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に入っています。