/** load all parameters from the configuration file and the command line switches */ bool Parameter::LoadParam(const string &filePath) { const char *argv[] = {"executable", "-f", filePath.c_str() }; return LoadParam(3, (char**) argv); }
BOOL CDfuToolApp::InitInstance() { // InitCommonControlsEx() is required on Windows XP if an application // manifest specifies use of ComCtl32.dll version 6 or later to enable // visual styles. Otherwise, any window creation will fail. INITCOMMONCONTROLSEX InitCtrls; InitCtrls.dwSize = sizeof(InitCtrls); // Set this to include all the common control classes you want to use // in your application. InitCtrls.dwICC = ICC_WIN95_CLASSES; InitCommonControlsEx(&InitCtrls); CWinAppEx::InitInstance(); AfxEnableControlContainer(); // Standard initialization // If you are not using these features and wish to reduce the size // of your final executable, you should remove from the following // the specific initialization routines you do not need // Change the registry key under which our settings are stored // TODO: You should modify this string to be something appropriate // such as the name of your company or organization // SetRegistryKey(_T("Local AppWizard-Generated Applications")); SetRegistryKey(_T("WbjSoft\\CubeViz1.0")); // SetDebugPrivileges(); ::GetModuleFileName(m_hInstance, m_szRunExeName, 210); _tcscpy(m_szRunDir,m_szRunExeName); // ::GetModuleFileName(m_hInstance, m_szRunDir, 210); TCHAR *pLastPos = _tcsrchr(m_szRunDir, _T('\\')); if(*(pLastPos-1) == _T(':')) *(pLastPos+1) = 0; else *pLastPos = 0; m_strCubeBinDir.Format("%s\\CubeBin",m_szRunDir); //bin文件目录 if(_access(m_strCubeBinDir,0)!=0) CreateDirectory(m_strCubeBinDir,NULL); m_strINIFile.Format("%s\\CubeViz.ini", m_szRunDir); LoadParam(); // START GDI+ SUB SYSTEM // GdiplusStartup(&m_gdiplusToken, &m_gdiplusStartupInput, NULL); // m_image = new ImageEx( _T("GIF"), _T("DFUMODE") ); // //m_image = new ImageEx( L"Dfu_Mode.gif" ); CDfuToolDlg dlg; m_pMainWnd = &dlg; INT_PTR nResponse = dlg.DoModal(); if (nResponse == IDOK) { // TODO: Place code here to handle when the dialog is // dismissed with OK } else if (nResponse == IDCANCEL) { // TODO: Place code here to handle when the dialog is // dismissed with Cancel } // Since the dialog has been closed, return FALSE so that we exit the // application, rather than start the application's message pump. return FALSE; }
bool CPlaylist::Load() { IGraphBuilder * pGraph = NULL; IAMPlayList * pPlaylist = NULL; HRESULT hr; bool bResult; if (NULL != m_pList || true == m_bTransient) { return true; } // // Make sure that this is one of our playlist read the last played element // bResult = LoadParam(); hr = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void**) &pGraph); if (SUCCEEDED(hr)) { hr = pGraph->RenderFile(m_pszPath, NULL); } if (SUCCEEDED(hr)) { IEnumFilters * pEnum = NULL; IBaseFilter * pFilter = NULL; hr = pGraph->EnumFilters(&pEnum); if (pEnum) { while (!pPlaylist && pEnum->Next(1, &pFilter, NULL) == S_OK) { hr = pFilter->QueryInterface(IID_IAMPlayList, (void**)&pPlaylist); pFilter->Release(); } if (!pPlaylist) { hr = E_NOINTERFACE; } pEnum->Release(); } } if (SUCCEEDED(hr)) { DWORD dwCount; IAMPlayListItem * pItem = NULL; if(pPlaylist) hr = pPlaylist->GetItemCount(&dwCount); else hr = E_FAIL; if (SUCCEEDED(hr)) { for (DWORD i = 0; i < dwCount; i++) { hr = pPlaylist->GetItem(i, &pItem); if (SUCCEEDED(hr)) { BSTR pszSource = NULL; hr = pItem->GetSourceURL(0, &pszSource); if (SUCCEEDED(hr)) { InsertTrack(i, pszSource); } pItem->Release(); } } } } if (pPlaylist) { pPlaylist->Release(); } if (pGraph) { pGraph->Release(); } if (SUCCEEDED(hr)) { return true; } else { return false; } }