您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ GetCurrentDirectory函数代码示例

51自学网 2021-06-01 21:05:57
  C++
这篇教程C++ GetCurrentDirectory函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中GetCurrentDirectory函数的典型用法代码示例。如果您正苦于以下问题:C++ GetCurrentDirectory函数的具体用法?C++ GetCurrentDirectory怎么用?C++ GetCurrentDirectory使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了GetCurrentDirectory函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: WDL_ChooseFileForSave

bool WDL_ChooseFileForSave(HWND parent,                                       const char *text,                                       const char *initialdir,                                       const char *initialfile,                                       const char *extlist,                                      const char *defext,                                      bool preservecwd,                                      char *fn,                                       int fnsize,                                      const char *dlgid,                                      void *dlgProc,#ifdef _WIN32                                      HINSTANCE hInstance#else                                      struct SWELL_DialogResourceIndex *reshead#endif                                      ){  char cwd[2048];  GetCurrentDirectory(sizeof(cwd),cwd);#ifdef _WIN32  char temp[4096];  memset(temp,0,sizeof(temp));  if (initialfile) lstrcpyn_safe(temp,initialfile,sizeof(temp));  WDL_fixfnforopenfn(temp);#ifdef WDL_FILEBROWSE_WIN7VISTAMODE  {    Win7FileDialog fd(text, 1);    if(fd.inited())    {      fd.addOptions(FOS_DONTADDTORECENT);      //vista+ file open dialog      char olddir[2048];      GetCurrentDirectory(sizeof(olddir),olddir);      fd.setFilterList(extlist);      if (defext)       {        fd.setDefaultExtension(defext);        int i = 0;        const char *p = extlist;        while(*p)        {          if(*p) p+=strlen(p)+1;          if(!*p) break;          if(stristr(p, defext))           {            fd.setFileTypeIndex(i+1);            break;          }          i++;          p+=strlen(p)+1;        }      }      fd.setFolder(initialdir?initialdir:olddir, 0);      if(initialfile)       {        //check for folder name        if (WDL_remove_filepart(temp))        {          //folder found          fd.setFolder(temp, 0);          fd.setFilename(temp + strlen(temp) + 1);        }        else          fd.setFilename(*temp ? temp : initialfile);      }      fd.setTemplate(hInstance, dlgid, (LPOFNHOOKPROC)dlgProc);            if(fd.show(parent))      {        //ifilesavedialog saves the last folder automatically        fd.getResult(fn, fnsize);                if (preservecwd) SetCurrentDirectory(olddir);        return true;      }            if (preservecwd) SetCurrentDirectory(olddir);      return NULL;    }  }#endif  OPENFILENAME l={sizeof(l),parent, hInstance, extlist, NULL,0, 0, temp, sizeof(temp)-1, NULL, 0, initialdir&&initialdir[0] ? initialdir : cwd, text,                   OFN_HIDEREADONLY|OFN_EXPLORER|OFN_OVERWRITEPROMPT,0,0,defext, 0, (LPOFNHOOKPROC)dlgProc, dlgid};  if (hInstance&&dlgProc&&dlgid) l.Flags |= OFN_ENABLEHOOK|OFN_ENABLETEMPLATE|OFN_ENABLESIZING;  if (preservecwd) l.Flags |= OFN_NOCHANGEDIR;  if (!GetSaveFileName(&l)||!temp[0])   {    if (preservecwd) SetCurrentDirectory(cwd);    return false;  }  if (preservecwd) SetCurrentDirectory(cwd);//.........这里部分代码省略.........
开发者ID:Nowhk,项目名称:wdl-ol,代码行数:101,


示例2: SetWindowText

//初始化函数BOOL CDlgRegister::OnInitDialog(){	__super::OnInitDialog();	//设置标题	SetWindowText(TEXT("帐号注册"));	//限制输入	((CComboBox *)(GetDlgItem(IDC_ACCOUNTS)))->LimitText(NAME_LEN-1);	((CEdit *)(GetDlgItem(IDC_PASSWORD)))->LimitText(PASS_LEN-1);	((CEdit *)(GetDlgItem(IDC_PASSWORD2)))->LimitText(PASS_LEN-1);	m_LineRegWeb.SetHyperLinkUrl(TEXT("http://www.dc173.com"));	m_LineMainPage.SetHyperLinkUrl(TEXT("http://www.dc173.com"));	m_LinePassWord.SetHyperLinkUrl(TEXT("http://www.dc173.com"));	//加载头像	g_GlobalUnits.m_UserFaceRes->FillImageList(m_ImageList);	m_FaceSelect.SetImageList(&m_ImageList);	//插入头像	COMBOBOXEXITEM Item;	ZeroMemory(&Item,sizeof(Item));	Item.mask=CBEIF_IMAGE|CBEIF_SELECTEDIMAGE;	for (int i=g_GlobalUnits.m_UserFaceRes->GetFaceCount()-1;i>=0;i--) 	{		Item.lParam=i;		Item.iImage=i;		Item.iSelectedImage=i;		m_FaceSelect.InsertItem(&Item);	}	//用户性别	BYTE cbGender[]={/*GENDER_NULL,*/GENDER_BOY,GENDER_GIRL};	LPCTSTR pszGender[]={/*TEXT("保密"),*/TEXT("男性"),TEXT("女性")};	CComboBox * pComboBox=(CComboBox *)GetDlgItem(IDC_GENDER);	//用户性别	for (int i=0;i<CountArray(cbGender);i++)	{		int nItem=pComboBox->InsertString(i,pszGender[i]);		pComboBox->SetItemData(nItem,cbGender[i]);	}	pComboBox->SetCurSel(0);	//设置头像	m_wFaceID=rand()%g_GlobalUnits.m_UserFaceRes->GetFaceCount();	m_FaceSelect.SetCurSel(m_wFaceID);	//获取目录	TCHAR szPath[MAX_PATH]=TEXT("");	GetCurrentDirectory(sizeof(szPath),szPath);	//读取配置	TCHAR szFileName[MAX_PATH]=TEXT("");	_snprintf(szFileName,sizeof(szFileName),TEXT("%s//Spreader.ini"),szPath);	//读取推荐人	TCHAR szSpreader[NAME_LEN]=TEXT("");	GetPrivateProfileString(TEXT("SpreaderInfo"),TEXT("SpreaderName"),TEXT(""),szSpreader,CountArray(szSpreader),szFileName);	//设置名字	if (szSpreader[0]!=0)	{		SetDlgItemText(IDC_SPREADER,szSpreader);		((CEdit *)GetDlgItem(IDC_SPREADER))->SetReadOnly();	}	return TRUE;}
开发者ID:firehot,项目名称:WH2008,代码行数:70,


示例3: ReadVOIPConfig

void  ReadVOIPConfig(void){    int   i;    DJ_S8 sep[] = {","};    char  buf[MAX_PREFIX][256] = {(0,0)};    char  *p = NULL;    char  *pBuf = NULL;    char  chTmp[MAX_SEC]= {0};    char  strTmp[256]= {0};    /*read sysconfig from PBXGetWay.ini*/    GetCurrentDirectory(MAX_FILE_NAME_LEN-32, cfg_IniName);    strcat(cfg_IniName, cfg_IniShortName);    GetPrivateProfileString("XMSCONFIG", "XMSIP", "192.168.10.132", cfg_ServerID.m_s8ServerIp, sizeof(cfg_ServerID.m_s8ServerIp), cfg_IniName);    cfg_ServerID.m_u32ServerPort = GetPrivateProfileInt("XMSCONFIG", "XMSPORT", 9000, cfg_IniName);    GetPrivateProfileString("XMSCONFIG","XMSUSER","",cfg_ServerID.m_s8UserName,sizeof(cfg_ServerID.m_s8UserName),cfg_IniName);    GetPrivateProfileString("XMSCONFIG","XMSPASSWORD","",cfg_ServerID.m_s8UserPwd,sizeof(cfg_ServerID.m_s8UserPwd),cfg_IniName);    g_u8UnitID = GetPrivateProfileInt("XMSCONFIG", "UNITID", 40, cfg_IniName);    /*read work moduleID form PBXGetWay.ini*/    GetPrivateProfileString("XMSCONFIG", "VOIPWORK","",cfg_chPartWorkModuleID, sizeof(cfg_chPartWorkModuleID), cfg_IniName);    strncpy(strTmp, cfg_chPartWorkModuleID, sizeof(strTmp));    SplitStr2Int(strTmp, ",", cfg_iVoipWorkMod);    GetPrivateProfileString("XMSCONFIG", "DIGTRKWORK","",cfg_chPartWorkModuleID, sizeof(cfg_chPartWorkModuleID), cfg_IniName);    strncpy(strTmp, cfg_chPartWorkModuleID, sizeof(strTmp));    SplitStr2Int(strTmp, ",", cfg_iDTrkWorkMod);    /*read ip pool from PBXGetWay.ini*/    cfg_IpPool = GetPrivateProfileInt("IPPOOL", "ITEMCNT", 1, cfg_IniName);    My_IpPoolItem(cfg_IpPool);    My_IpPool(cfg_IpPool);    for (i = 0; i < cfg_IpPool; i++)    {        if (pIpPool[i] != NULL)            GetPrivateProfileString("IPPOOL",pIpPoolItem[i] , "", (LPTSTR )pIpPool[i], 20, cfg_IniName);    }    pubSendRTPDTMFType = GetPrivateProfileInt("RTPDTMF","SENDTYPE",1,cfg_IniName);    pubDebug = GetPrivateProfileInt("XMSCONFIG","DEBUGON",0,cfg_IniName);    GetPrivateProfileString("OUTBONDVOIP","VOIP_ADDRESS","",pubOutVoipAddress,sizeof(pubOutVoipAddress),cfg_IniName);    pubOutVoipPort=GetPrivateProfileInt("OUTBONDVOIP","VOIP_PORT",5060,cfg_IniName);    //VOIP输出规则    pubVoipRule=GetPrivateProfileInt("VOIPRULE","OUTRULE",0,cfg_IniName);    //日志开关    bLog = GetPrivateProfileInt("LOG", "LOG", 0, cfg_IniName);//	GetPrivateProfileString("DIALRULE", "DIALRULE", "", CodeRule, sizeof(CodeRule), cfg_IniName);    cfg_routCnt = GetPrivateProfileInt("OUTBOUNDROUT", "ROUTCNT", 1, cfg_IniName);    if (cfg_routCnt > 0)    {        outRout = new OutBoundRout[cfg_routCnt+1];        memset(outRout, 0, sizeof(OutBoundRout) * (cfg_routCnt+1));        if (outRout != NULL)        {            char routStr[10] = {0};            char outRoutStr[512] = {0};            for (i = 1; i <= cfg_routCnt; i++)            {                sprintf(routStr, "ROUT[%d]", i);                GetPrivateProfileString("OUTBOUNDROUT", routStr ,"",outRoutStr,sizeof(OutBoundRout),cfg_IniName);                assignmentOutBoundRout(outRoutStr, &outRout[i]);            }        }    }    cfg_FaxMode = GetPrivateProfileInt("FAXMODE", "FaxMode", 0, cfg_IniName);    CreateDailRule(&pDailRuleHead);    return ;}
开发者ID:liguyu,项目名称:cppexample,代码行数:83,


示例4: init

int init(int argc, char *argv[]) {#if WIN32    char currentDirectory[MAX_PATH];#endif    srand(time(0));    conInit();    loadDefaults();    timerInit();    if (!commandLineRead(argc, argv))        return 0;    if (view.quit)        return 0;    if (!state.dontExecuteDefaultScript)        configRead(findFile(CONFIG_FILE), 0);#ifndef NO_GUI    if (!gfxInit())        return 1;#endif    if (state.historyFrames % 2)        state.historyFrames--;    fpsInit();#ifdef WIN32    // if we've gone this far, lets set the registry key even if it exists...    GetCurrentDirectory(MAX_PATH, currentDirectory);    setRegistryString(REGISTRY_NAME_PATH, currentDirectory);#endif#ifdef _OPENMP    conAdd(LHELP, "multi-threaded rendering: max threads = %d.    Found %d processors.",                   state.processFrameThreads, omp_get_num_procs());#endif#ifndef NO_STDIO_REDIRECT    // say hi (and keep stdout.txt alive on windows...)    if(!view.useStdout && !view.screenSaver)      printf("Welcome to %s./n", GRAVIT_VERSION);#endif#ifdef WITHOUT_AGAR    conAdd(LHELP, "Welcome to Gravit!");#ifndef NO_GUI    conAdd(LHELP, "Quick Start: Hit SPACE to start a new simulation!");    conAdd(LHELP, "Hold down a mouse button and move it around. Use A and Z keys, or the scroll wheel to zoom in and out.");#endif#endif    return 0;}
开发者ID:bagobor,项目名称:gravit,代码行数:64,


示例5: VSRM_GetPath

int VSRM_GetPath(char *filepath, unsigned int size){#ifdef _WIN32	int nSize = 0, i=0;	char szPath[MAX_PATH] = {0,};	GetModuleFileName(NULL, szPath, sizeof(szPath));	nSize = (int)strlen(szPath);	i=nSize;	for (i=nSize; i>0; i--)	{		if (szPath[i]=='//')		{			szPath[i] = '/0';			break;		}		szPath[i] = '/0';	}	if (i < 1)	{		GetCurrentDirectory(MAX_PATH, szPath);		nSize = (int)strlen(szPath);		if ((unsigned int)nSize > size)		{			printf("VSRM_GetPath::  传入路径长度太小. 无法复制当前路径.");		}		else		{			strncpy(filepath, szPath, nSize);		}	}	else	{		strncpy(filepath, szPath, nSize);	}	return 0;#else	char path[260] = {0,};	int cnt = readlink("/proc/self/exe", path, sizeof(path));	if (cnt < 0 || cnt>=sizeof(path))	{		printf("readlink error../n");		return -1;	}		int i=0;	for (i=cnt; i>=0; --i)	{		if (path[i] == '/')		{			path[i+1] = '/0';			break;		}	}	int nSize = (int)strlen(path);	if ((unsigned int)nSize > size)	{		_TRACE_ERR("VSRM_GetPath::  传入路径长度太小. 无法复制当前路径.");	}	else	{		strncpy(filepath, path, nSize);		return 0;	}	return -1;#endif}
开发者ID:yunkaipx,项目名称:EasyDarwin,代码行数:70,


示例6: while

//.........这里部分代码省略.........		nParentPID = mn_InsideParentPID;	}	else	{		PROCESSENTRY32 pi = {sizeof(pi)};		if (!GetProcessInfo(GetCurrentProcessId(), &pi) || !pi.th32ParentProcessID)		{			DisplayLastError(L"GetProcessInfo(GetCurrentProcessId()) failed");			m_InsideIntegration = ii_None;			mh_InsideParentWND = NULL;			goto wrap;		}		nParentPID = pi.th32ParentProcessID;	}	EnumWindows(EnumInsideFindParent, nParentPID);	if (!mh_InsideParentRoot)	{		int nBtn = MsgBox(L"Can't find appropriate parent window!/n/nContinue in normal mode?", MB_ICONSTOP|MB_YESNO|MB_DEFBUTTON2);		if (nBtn != IDYES)		{			mh_InsideParentWND = INSIDE_PARENT_NOT_FOUND;			return mh_InsideParentWND; // Закрыться!		}		// Продолжить в обычном режиме		m_InsideIntegration = ii_None;		mh_InsideParentWND = NULL;		goto wrap;	}    HWND hExistConEmu;    if ((hExistConEmu = InsideFindConEmu(mh_InsideParentRoot)) != NULL)    {    	_ASSERTE(FALSE && "Continue to create tab in existing instance");    	// Если в проводнике уже есть ConEmu - открыть в нем новую вкладку    	gpSetCls->SingleInstanceShowHide = sih_None;    	LPCWSTR pszCmdLine = GetCommandLine();    	LPCWSTR pszCmd = StrStrI(pszCmdLine, L" /cmd ");    	gpConEmu->RunSingleInstance(hExistConEmu, pszCmd ? (pszCmd + 6) : NULL);		mh_InsideParentWND = INSIDE_PARENT_NOT_FOUND;		return mh_InsideParentWND; // Закрыться!    }	// Теперь нужно найти дочерние окна	// 1. в которое будем внедряться	// 2. по которому будем позиционироваться	// 3. для синхронизации текущего пути	InsideFindShellView(mh_InsideParentRoot);RepeatCheck:	if (!mh_InsideParentWND || (!mh_InsideParentRel && (m_InsideIntegration == ii_Explorer)))	{		wchar_t szAddMsg[128] = L"", szMsg[1024];		if (bFirstStep)		{			bFirstStep = false;			if (TurnExplorerTipPane(szAddMsg))			{				goto RepeatCheck;			}		}		//MessageBox(L"Can't find appropriate shell window!", MB_ICONSTOP);		_wsprintf(szMsg, SKIPLEN(countof(szMsg)) L"%sCan't find appropriate shell window!/nUnrecognized layout of the Explorer./n/nContinue in normal mode?", szAddMsg);		int nBtn = MsgBox(szMsg, MB_ICONSTOP|MB_YESNO|MB_DEFBUTTON2);		if (nBtn != IDYES)		{			mh_InsideParentWND = INSIDE_PARENT_NOT_FOUND;			return mh_InsideParentWND; // Закрыться!		}		m_InsideIntegration = ii_None;		mh_InsideParentRoot = NULL;		mh_InsideParentWND = NULL;		goto wrap;	}wrap:	if (!mh_InsideParentWND)	{		m_InsideIntegration = ii_None;		mh_InsideParentRoot = NULL;	}	else	{		GetWindowThreadProcessId(mh_InsideParentWND, &mn_InsideParentPID);		// Для мониторинга папки		GetCurrentDirectory(countof(ms_InsideParentPath), ms_InsideParentPath);		int nLen = lstrlen(ms_InsideParentPath);		if ((nLen > 3) && (ms_InsideParentPath[nLen-1] == L'//'))		{			ms_InsideParentPath[nLen-1] = 0;		}	}	return mh_InsideParentWND;}
开发者ID:G-VAR,项目名称:ConEmu,代码行数:101,


示例7: SetupDriverName

BOOLEANSetupDriverName(    _Inout_updates_bytes_all_(BufferLength) PCHAR DriverLocation,    _In_ ULONG BufferLength    ){    HANDLE fileHandle;    DWORD driverLocLen = 0;    //    // Get the current directory.    //    driverLocLen = GetCurrentDirectory(BufferLength,                                       DriverLocation                                       );    if (driverLocLen == 0 || driverLocLen < BufferLength) {        printf("GetCurrentDirectory failed!  Error = %d /n", (int)GetLastError());        return FALSE;    }    DriverLocation[ driverLocLen - 1 ] = '/0';    //    // Setup path name to driver file.    //    if (FAILED( StringCbCat(DriverLocation, BufferLength, "//"DRIVER_NAME".sys") )) {
开发者ID:340211173,项目名称:Windows-driver-samples,代码行数:30,


示例8: getCurrentDirectory

void getCurrentDirectory(char* buffer, int buffer_size){	GetCurrentDirectory(buffer_size, buffer);}
开发者ID:gunsafighter,项目名称:LumixEngine,代码行数:4,


示例9: assert

HRESULT AnimaApplication::CreateInstance( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){	assert( AnimaApplication::mInstance == 0 );	HWND	   hWnd;	WNDCLASSEX winClass;	memset( &winClass, 0x0, sizeof(WNDCLASSEX) );		winClass.lpszClassName = "MY_WINDOWS_CLASS";	winClass.cbSize        = sizeof(WNDCLASSEX);	winClass.style         = CS_HREDRAW | CS_VREDRAW;	winClass.lpfnWndProc   = WindowProc;	winClass.hInstance     = hInstance;	winClass.hIcon	       = LoadIcon(hInstance, (LPCTSTR)IDI_DIRECTX_ICON);    winClass.hIconSm	   = LoadIcon(hInstance, (LPCTSTR)IDI_DIRECTX_ICON);	winClass.hCursor       = LoadCursor(NULL, IDC_ARROW);	winClass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);	winClass.lpszMenuName  = NULL;	winClass.cbClsExtra    = 0;	winClass.cbWndExtra    = 0;	if( !RegisterClassEx(&winClass) )		return E_FAIL;	hWnd = CreateWindowEx( NULL, "MY_WINDOWS_CLASS",                              "DX9 Skinning Sample",						     WS_OVERLAPPEDWINDOW | WS_VISIBLE,					         0, 0, DISPLAY_WIDTH, DISPLAY_HEIGHT, NULL, NULL, hInstance, NULL );	if( hWnd == NULL )		return E_FAIL;	// register raw input device	RAWINPUTDEVICE Rid[2];    Rid[0].usUsagePage = HID_USAGE_PAGE_GENERIC;     Rid[0].usUsage = HID_USAGE_GENERIC_MOUSE;     Rid[0].dwFlags = RIDEV_INPUTSINK;       Rid[0].hwndTarget = hWnd; 	// Keyboard	Rid[1].usUsagePage = HID_USAGE_PAGE_GENERIC;	Rid[1].usUsage = 6;	Rid[1].dwFlags = 0;	Rid[1].hwndTarget=hWnd;	RegisterRawInputDevices( Rid, 2, sizeof(Rid[0]) );	ShowWindow( hWnd, nCmdShow );    UpdateWindow( hWnd );	LPWSTR *szArglist;	int nArgs;		szArglist = CommandLineToArgvW(GetCommandLineW(), &nArgs);	TestEnvironment* testEnvironment = new TestEnvironment( nArgs, szArglist );	Math::Random::Init( testEnvironment->GetRandomSeed() );	AnimaApplication::mInstance = new AnimaApplication( winClass, hWnd );	char szCurrentDir[2048];	GetCurrentDirectory( sizeof(szCurrentDir), szCurrentDir );	strcat_s(szCurrentDir, "/../Shaders");	Instance()->mShadersWatcher = FindFirstChangeNotification( szCurrentDir, FALSE, FILE_NOTIFY_CHANGE_LAST_WRITE);	if (Instance()->mShadersWatcher  == INVALID_HANDLE_VALUE) 		DXTRACE_ERR("Unable to monitor shaders directory. Live shaders editing will not work", E_FAIL );	Instance()->mTestEnvironment = testEnvironment;	Instance()->mRenderContext = new RenderContext( hWnd, DISPLAY_WIDTH, DISPLAY_HEIGHT );	Instance()->mFramerateCounter = new FramerateCounter;	Instance()->mUserInterface = new UserInterface( mInstance->mRenderContext, mInstance->mFramerateCounter );	Instance()->mUserInterface->AcquireResources( Instance()->mRenderContext );	Instance()->mInput = new Input();	Instance()->mCamera = new Camera( *Instance()->mInput, *Instance()->mRenderContext );	// set up renderer 	Instance()->mModel = new SkeletalModel( "..//Models//frank.dae" );	Instance()->mModel->Load( Instance()->mRenderContext );	Instance()->mModel->SetNext( Instance()->mUserInterface );	Instance()->mModel->PlayAnimation( 0, 0.25f );	Instance()->mModelRotationAngle = 0.f;	Instance()->mRotateModel = true;	Instance()->mFrameCounter = 0;	return S_OK;}
开发者ID:devdetails,项目名称:anima-animation-sample,代码行数:89,


示例10: GetCurrentDirectory

BOOL CTortoiseGitBlameApp::InitInstance(){	{		DWORD len = GetCurrentDirectory(0, NULL);		if (len)		{			std::unique_ptr<TCHAR[]> originalCurrentDirectory(new TCHAR[len]);			if (GetCurrentDirectory(len, originalCurrentDirectory.get()))			{				sOrigCWD = originalCurrentDirectory.get();				sOrigCWD = CPathUtils::GetLongPathname(sOrigCWD);			}		}	}	//set the resource dll for the required language	CRegDWORD loc = CRegDWORD(_T("Software//TortoiseGit//LanguageID"), 1033);	long langId = loc;	CString langDll;	HINSTANCE hInst = NULL;	do	{		langDll.Format(_T("%sLanguages//TortoiseGitBlame%ld.dll"), (LPCTSTR)CPathUtils::GetAppParentDirectory(), langId);		hInst = LoadLibrary(langDll);		CString sVer = _T(STRPRODUCTVER);		CString sFileVer = CPathUtils::GetVersionFromFile(langDll);		if (sFileVer.Compare(sVer)!=0)		{			FreeLibrary(hInst);			hInst = NULL;		}		if (hInst != NULL)			AfxSetResourceHandle(hInst);		else		{			DWORD lid = SUBLANGID(langId);			lid--;			if (lid > 0)			{				langId = MAKELANGID(PRIMARYLANGID(langId), lid);			}			else				langId = 0;		}	} while ((hInst == NULL) && (langId != 0));	TCHAR buf[6] = { 0 };	_tcscpy_s(buf, _T("en"));	langId = loc;	CString sHelppath;	sHelppath = this->m_pszHelpFilePath;	sHelppath = sHelppath.MakeLower();	sHelppath.Replace(_T(".chm"), _T("_en.chm"));	free((void*)m_pszHelpFilePath);	m_pszHelpFilePath=_tcsdup(sHelppath);	sHelppath = CPathUtils::GetAppParentDirectory() + _T("Languages//TortoiseGitBlame_en.chm");	do	{		GetLocaleInfo(MAKELCID(langId, SORT_DEFAULT), LOCALE_SISO639LANGNAME, buf, _countof(buf));		CString sLang = _T("_");		sLang += buf;		sHelppath.Replace(_T("_en"), sLang);		if (PathFileExists(sHelppath))		{			free((void*)m_pszHelpFilePath);			m_pszHelpFilePath=_tcsdup(sHelppath);			break;		}		sHelppath.Replace(sLang, _T("_en"));		GetLocaleInfo(MAKELCID(langId, SORT_DEFAULT), LOCALE_SISO3166CTRYNAME, buf, _countof(buf));		sLang += _T("_");		sLang += buf;		sHelppath.Replace(_T("_en"), sLang);		if (PathFileExists(sHelppath))		{			free((void*)m_pszHelpFilePath);			m_pszHelpFilePath=_tcsdup(sHelppath);			break;		}		sHelppath.Replace(sLang, _T("_en"));		DWORD lid = SUBLANGID(langId);		lid--;		if (lid > 0)		{			langId = MAKELANGID(PRIMARYLANGID(langId), lid);		}		else			langId = 0;	} while (langId);	setlocale(LC_ALL, "");	// We need to explicitly set the thread locale to the system default one to avoid possible problems with saving files in its original codepage	// The problems occures when the language of OS differs from the regional settings	// See the details here: http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=100887	SetThreadLocale(LOCALE_SYSTEM_DEFAULT);	// 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;//.........这里部分代码省略.........
开发者ID:15375514460,项目名称:TortoiseGit,代码行数:101,


示例11: Choose_Prediction

// Open function modified by Donald Graft as part of fix for dropped frames and random frame access.int CMPEG2Decoder::Open(const char *path){	char buf[2048], *buf_p;	Choose_Prediction(this->fastMC);	char ID[80], PASS[80] = "DGIndexProjectFile16";	DWORD i, j, size, code, type, tff, rff, film, ntsc, gop, top, bottom, mapping;	int repeat_on, repeat_off, repeat_init;	int vob_id, cell_id;	__int64 position;    int HadI;	CMPEG2Decoder* out = this;	out->VF_File = fopen(path, "r");	if (fgets(ID, 79, out->VF_File)==NULL)		return 1;	if (strstr(ID, "DGIndexProjectFile") == NULL)		return 5;	if (strncmp(ID, PASS, 20))		return 2;	fscanf(out->VF_File, "%d/n", &File_Limit);	i = File_Limit;	while (i)	{		Infilename[File_Limit-i] = (char*)aligned_malloc(_MAX_PATH, 16);		fgets(Infilename[File_Limit-i], _MAX_PATH - 1, out->VF_File);		// Strip newline.		Infilename[File_Limit-i][strlen(Infilename[File_Limit-i])-1] = 0;		if (PathIsRelative(Infilename[File_Limit-i]))		{			char *p, d2v_stem[_MAX_PATH], open_path[_MAX_PATH];			if (PathIsRelative(path))			{				GetCurrentDirectory(_MAX_PATH, d2v_stem);				if (*(d2v_stem + strlen(d2v_stem) - 1) != '//')					strcat(d2v_stem, "//");				strcat(d2v_stem, path);			}			else			{				strcpy(d2v_stem, path);			}			p = d2v_stem + strlen(d2v_stem);			while (*p != '//' && p != d2v_stem) p--;			if (p != d2v_stem)			{				p[1] = 0;				strcat(d2v_stem, Infilename[File_Limit-i]);				PathCanonicalize(open_path, d2v_stem);				if ((Infile[File_Limit-i] = _open(open_path, _O_RDONLY | _O_BINARY))==-1)					return 3;			}			else			{				// This should never happen because the code should guarantee that d2v_stem has a '/' character.				return 3;			}		}		else		{			if ((Infile[File_Limit-i] = _open(Infilename[File_Limit-i], _O_RDONLY | _O_BINARY))==-1)				return 3;		}		i--;	}	fscanf(out->VF_File, "/nStream_Type=%d/n", &SystemStream_Flag);	if (SystemStream_Flag == 2)	{		fscanf(out->VF_File, "MPEG2_Transport_PID=%x,%x,%x/n",			   &MPEG2_Transport_VideoPID, &MPEG2_Transport_AudioPID, &MPEG2_Transport_PCRPID);		fscanf(out->VF_File, "Transport_Packet_Size=%d/n", &TransportPacketSize);	}	fscanf(out->VF_File, "MPEG_Type=%d/n", &mpeg_type);	fscanf(out->VF_File, "iDCT_Algorithm=%d/n", &IDCT_Flag);	switch (IDCT_Flag)	{		case IDCT_MMX:			idctFunc = MMX_IDCT;			break;		case IDCT_SSEMMX:			idctFunc = SSEMMX_IDCT;			if (!cpu.ssemmx)			{				IDCT_Flag = IDCT_MMX;				idctFunc = MMX_IDCT;			}			break;		case IDCT_FPU:			if (!fpuinit) 			{				Initialize_FPU_IDCT();//.........这里部分代码省略.........
开发者ID:ScandalCorp,项目名称:DGMPGDec,代码行数:101,


示例12: GetCurrentDirectory

/*	ANT_DIRECTORY_ITERATOR_RECURSIVE::FIRST()	-----------------------------------------*/ANT_directory_iterator_object *ANT_directory_iterator_recursive::first(ANT_directory_iterator_object *object){file_list = handle_stack;#ifdef _MSC_VER	file_list->first_time = TRUE;	GetCurrentDirectory(sizeof(file_list->path), file_list->path);	strcat(file_list->path, "/*.*");	return next(object);#else	/* the modification below would not affected the original way of reading files */	long last_slash_idx = strlen(wildcard) - 1;	char *last_char = wildcard + last_slash_idx; // searching backward	char *slash = last_char;	char *got;	if (ANT_disk::is_directory(wildcard))		{		strcpy(path_buffer, wildcard);		strcpy(this->wildcard, "*");		}	else		{		while (slash != wildcard)			{			if(*slash == '/')				break;			slash--;			last_slash_idx--;			}		if (last_slash_idx <= 0) 		// the wildcard will be wildcard itself			{			if (getcwd(path_buffer, sizeof(path_buffer)) == NULL)				return NULL;			sprintf(path_buffer, "%s/", path_buffer); /* As we will later use this to mark dirs */			}		else // the wildcard will be after slash			{			strncpy(path_buffer, wildcard, last_slash_idx + 1);			path_buffer[last_slash_idx+1] = '/0';			if (last_char == slash)				strcpy(this->wildcard, "*");			else				{				char *wildcard_start = slash;				wildcard_start++;				long wildcard_len = last_char - wildcard_start + 1;				// trim the wildcard path string to contain only the wildcard characters				strncpy(this->wildcard, wildcard_start, wildcard_len);				this->wildcard[wildcard_len] = '/0';				}			}		}	if ((got = first_match_wildcard(path_buffer)) == NULL)		return NULL;	object->filename = strnew(got);	if (get_file)		object->file = ANT_disk::read_entire_file(object->filename, &object->length);	else		{		object->file = NULL;		object->length = 0;		}	return object;#endif}
开发者ID:crosslink,项目名称:Link-the-Wiki,代码行数:77,


示例13: GetWorkingFolder

std::string GetWorkingFolder(){	char sCurrentPath[MAX_PATH]={0};	GetCurrentDirectory(MAX_PATH,sCurrentPath);	return sCurrentPath;}
开发者ID:theclai,项目名称:friking-shark,代码行数:6,


示例14: GetCurrentDirectory

char *WDL_ChooseFileForOpen2(HWND parent,                                        const char *text,                                         const char *initialdir,                                          const char *initialfile,                                         const char *extlist,                                        const char *defext,                                        bool preservecwd,                                        int allowmul,                                         const char *dlgid,                                         void *dlgProc, #ifdef _WIN32                                        HINSTANCE hInstance#else                                        struct SWELL_DialogResourceIndex *reshead#endif                                        ){  char olddir[2048];  GetCurrentDirectory(sizeof(olddir),olddir);#ifdef _WIN32#ifdef WDL_FILEBROWSE_WIN7VISTAMODE  if (allowmul!=1)  {    Win7FileDialog fd(text);    if(fd.inited())    {      //vista+ file open dialog      fd.addOptions(FOS_FILEMUSTEXIST|(allowmul?FOS_ALLOWMULTISELECT:0));      fd.setFilterList(extlist);      if (defext)       {        fd.setDefaultExtension(defext);                int i = 0;        const char *p = extlist;        while(*p)        {          if(*p) p+=strlen(p)+1;          if(!*p) break;          if(stristr(p, defext))           {            fd.setFileTypeIndex(i+1);            break;          }          i++;          p+=strlen(p)+1;        }      }      fd.setFolder(initialdir?initialdir:olddir, 0);      fd.setTemplate(hInstance, dlgid, (LPOFNHOOKPROC)dlgProc);      if(initialfile)       {        char temp[4096];        lstrcpyn_safe(temp,initialfile,sizeof(temp));        //check for folder name        if (WDL_remove_filepart(temp))        {          //folder found          fd.setFolder(temp, 0);          fd.setFilename(temp + strlen(temp) + 1);        }        else          fd.setFilename(temp);      }      if(fd.show(parent))      {        char *ret=NULL;        char temp[4096];        temp[0]=0;        //ifileopendialog saves the last folder automatically        if (!allowmul)        {          fd.getResult(temp, sizeof(temp)-1);          ret= temp[0] ? strdup(temp) : NULL;        }        else        {          char* p=NULL;          int totallen=0, cnt=fd.getResultCount();          if (cnt>1)          {            // sets an empty path as 1st returned string for multipath support            // (when selecting files among search results for ex.)            ret = strdup("");            totallen=1;          }          int i;          for (i=0; i<cnt; i++)          {            int len = fd.getResult(i, temp, sizeof(temp)-1);            p = len ? (char*)realloc(ret, totallen + len + ((i==cnt-1)?1:0)) : NULL;            if (p)            {//.........这里部分代码省略.........
开发者ID:Nowhk,项目名称:wdl-ol,代码行数:101,


示例15: InitInstance

	virtual BOOL InitInstance()	{		try{			SetRegistryKey(G_softwarename());			//boost process priority			SetPriorityClass(GetCurrentProcess(),HIGH_PRIORITY_CLASS);			AfxInitRichEdit();	//		AfxEnableControlContainer();	//		AfxOleInit();			{//create documents folder				QString dir;				GetDocumentsDir(dir);dir+=_qstr("//");dir+=G_softwarename();				CreateDirectory(dir,NULL);			}			CWinApp::InitInstance();			//for 3D Connexion			if (!AfxOleInit())			{				AfxMessageBox(L"OLE Init failed");				return FALSE;			}			AfxEnableControlContainer();			StrChar locstartupdir[600];			GetCurrentDirectory(599,locstartupdir);			startupdir=locstartupdir;			datadir=startupdir+_qstr("/Data");			{				QString storeddatadir;				QParamRead(PARAMLOCATION_REGISTRY,_qstr("DataDirectory"),storeddatadir);				if (qstrlen(storeddatadir)>0)					datadir=storeddatadir;			}			initlog();			addlog(TFormatString(_text("Data directory: ^1"),datadir));			scriptsdir=datadir;scriptsdir+=_qstr("//Scripts");			texturesdir=datadir;texturesdir+=_qstr("//textures");			addlog(_text("Fetching MAC address"));			GetMACaddress(MACaddr);			addlog(MACaddr);			G_3DCosmos().LoadSettings();			G_3DCosmos().init();			loadstockcyclorbits();			G_QXSys().startup();			addlog(_text("Loading languages"),+1);			QTranslate::Get().loadlanguages();			addlog(_text("Loaded languages"),-1);			addlog(_text("Creating source code window"),+1);			mainwin= new Tmainwin();			mainwin->createwindow(NULL,QString("Source code window"));			addlog(_text("Source code window created"),-1);			addlog(_text(""));			addlog(_text(""));			mainwin->ShowWindow(m_nCmdShow);			m_pMainWnd=mainwin;		}		catch(QError &err)		{			reporterror(err.G_content());		}		return TRUE;	}
开发者ID:pvaut,项目名称:Z-Flux,代码行数:80,


示例16: StartBurn

int _stdcall StartBurn (DWORD whichone,DWORD priority,DWORD mem_size){command_line_string="/0";dir_name_len=GetCurrentDirectory(100,(char*)current_dir);_asm{	lea		edi,current_dir	mov		edx,dir_name_len	add		edi,edx	mov		ebx,whichone	mov		eax,dword ptr[ebx]	push	eax	dec		eax	shl		eax,3	mov		esi,const_names	add		esi,eax	mov		ecx,7	rep	movsb	add		ecx,5	mov		esi,exe	rep movsb	mov		ecx,edx	add		ecx,11	lea		esi,current_dir	lea		edi,burn_exe_name	rep movsb		mov		byte ptr [edi],32		inc		edi		pop		ebx		cmp		ebx,4		jl		skip_cls		cmp		ebx,5		jg		skip_cls		//mov		edi,command_line_string		mov		edx,mem_size			mov		eax,[edx]		add		eax,65		mov		byte ptr[edi],al		mov		byte ptr[edi+1],0skip_cls:	}startup_info.cb=sizeof(STARTUPINFO);startup_info.lpReserved=NULL;startup_info.lpDesktop="";startup_info.lpTitle="Burning!";startup_info.lpReserved2=NULL;startup_info.cbReserved2=0;startup_info.dwFlags=STARTF_USESHOWWINDOW;startup_info.wShowWindow=SW_MINIMIZE;_asm{	mov		ebx,priority	mov		cl,byte ptr[ebx]	mov		edx,0x20	dec		ecx	shl		edx,cl	mov		eax,edx	and		eax,0x100	shr		eax,1	or		edx,eax	mov		flags,dl}/*HIGH_PRIORITY_CLASS = 0x80IDLE_PRIORITY_CLASS = 0x40NORMAL_PRIORITY_CLASS = 0x20REALTIME_PRIORITY_CLASS = 0x00*/CreateProcess(NULL,burn_exe_name,NULL,NULL,TRUE,flags,			  NULL,NULL,&startup_info,&proc_info);return(0);}int _stdcall IsStillBurning (){return(0);}int _stdcall Kill_me (){TerminateProcess(proc_info.hProcess,0);return(0);}
开发者ID:DecJude,项目名称:cpustress-sources,代码行数:98,


示例17: OpenProcess

LRESULT CMainFrame::EnterStation(WPARAM wPanel,LPARAM Mylparamp){	MI_SETTING* wMI =  (MI_SETTING*)wPanel;	PROCESS_INFORMATION *pi = &(wMI->m_pi);	HANDLE  hProcess = OpenProcess(PROCESS_QUERY_INFORMATION , FALSE, pi->dwProcessId);	if(hProcess == NULL)	{		//创建新的进程		//AfxMessageBox(_T("This Chanel is Close."));		int ret = MessageBox(_T("This Chanel is Close.ReCreate it."),_T("Chanel Error"),MB_YESNO);		if (ret ==IDYES)		{			wchar_t m_sCurrentPath[MAX_PATH];			GetCurrentDirectory(MAX_PATH,m_sCurrentPath);			CString ApplicationName;			ApplicationName=m_sCurrentPath;			ApplicationName+=_T("//AOIEDIT.EXE");			STARTUPINFO si;			ZeroMemory(&si,sizeof(si)); 			si.cb   =   sizeof   STARTUPINFO; 			si.lpReserved=NULL;    			si.lpDesktop=NULL;    			si.lpTitle=NULL;    			si.dwX=0;    			si.dwY=0;    			si.dwXSize=0;    			si.dwYSize=0;    			si.dwXCountChars=500;    			si.dwYCountChars=500;    			si.dwFlags=STARTF_USESHOWWINDOW|STARTF_USESTDHANDLES;    			si.wShowWindow=SW_HIDE;    			//说明进程将以隐藏的方式在后台执行    			si.cbReserved2=0;    			si.lpReserved2=NULL;    			si.hStdInput=stdin;    			si.hStdOutput=stdout;    			si.hStdError=stderr;  			//C://WINDOWS//SYSTEM32//NOTEPAD.EXE")			CString cmd;			cmd.Format(_T("%s$%s$%d$"),wMI->szStationID,wMI->szProgramName,wMI->ch);			BOOL fRet=CreateProcess(ApplicationName,cmd.GetBuffer(),NULL,NULL,TRUE,NULL ,NULL,NULL,&si,&(wMI->m_pi));			if(fRet==false)   			{   				AfxMessageBox(_T("CreateProcess    failed"));   				//exit(1);			}   			else   			{   				WaitForInputIdle(wMI->m_pi.hProcess,0);   				CloseHandle(wMI->m_pi.hThread);   				CloseHandle(wMI->m_pi.hProcess);   			}  			EnumThreadWindows(pi->dwThreadId,EnumThreadWndProc,MI_SHOW);		}		return 0;	}	EnumThreadWindows(pi->dwThreadId,EnumThreadWndProc,MI_SHOW);	::CloseHandle(hProcess);	return 0;}
开发者ID:bblr001,项目名称:MVS,代码行数:64,


示例18: WinMain

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){	// Init any globals not in "struct g" that need it:	g_hInstance = hInstance;	InitializeCriticalSection(&g_CriticalRegExCache); // v1.0.45.04: Must be done early so that it's unconditional, so that DeleteCriticalSection() in the script destructor can also be unconditional (deleting when never initialized can crash, at least on Win 9x).	if (!GetCurrentDirectory(sizeof(g_WorkingDir), g_WorkingDir)) // Needed for the FileSelectFile() workaround.		*g_WorkingDir = '/0';	// Unlike the below, the above must not be Malloc'd because the contents can later change to something	// as large as MAX_PATH by means of the SetWorkingDir command.	g_WorkingDirOrig = SimpleHeap::Malloc(g_WorkingDir); // Needed by the Reload command.	// Set defaults, to be overridden by command line args we receive:	bool restart_mode = false;#ifndef AUTOHOTKEYSC	#ifdef _DEBUG		//char *script_filespec = "C://Util//AutoHotkey.ahk";		//char *script_filespec = "C://A-Source//AutoHotkey//Test//GUI Demo.ahk";		char *script_filespec = "C://A-Source//AutoHotkey//Test//TEST SUITES//MAIN.ahk";		//char *script_filespec = "C://A-Source//AutoHotkey//Test//TEST SUITES//Expressions.ahk";		//char *script_filespec = "C://A-Source//AutoHotkey//Test//TEST SUITES//Line Continuation.ahk";		//char *script_filespec = "C://A-Source//AutoHotkey//Test//TEST SUITES//DllCall.ahk";		//char *script_filespec = "C://A-Source//AutoHotkey//Test//TEST SUITES//RegExMatch & RegExReplace.ahk";		//char *script_filespec = "C://A-Source//AutoHotkey//Test//TEST SUITES//Win commands, all cases.ahk";		//char *script_filespec = "C://A-Source//AutoHotkey//Test//TEST SUITES//GUI Date.ahk";		//char *script_filespec = "C://A-Source//AutoHotkey//Test//TEST SUITES//GUI ListView.ahk";		//char *script_filespec = "C://A-Source//AutoHotkey//Test//TEST SUITES//OnMessage.ahk";		//char *script_filespec = "C://A-Source//AutoHotkey//Test//TEST SUITES//Send command.ahk";		//char *script_filespec = "C://A-Source//AutoHotkey//Ref//ImageSearch//TEST SUITE//MAIN.ahk";		//char *script_filespec = "C://A-Source//AutoHotkey//Test//New Text Document.ahk";	#else		char *script_filespec = NULL; // Set default as "unspecified/omitted".	#endif#endif	// The problem of some command line parameters such as /r being "reserved" is a design flaw (one that	// can't be fixed without breaking existing scripts).  Fortunately, I think it affects only compiled	// scripts because running a script via AutoHotkey.exe should avoid treating anything after the	// filename as switches. This flaw probably occurred because when this part of the program was designed,	// there was no plan to have compiled scripts.	//	// Examine command line args.  Rules:	// Any special flags (e.g. /force and /restart) must appear prior to the script filespec.	// The script filespec (if present) must be the first non-backslash arg.	// All args that appear after the filespec are considered to be parameters for the script	// and will be added as variables %1% %2% etc.	// The above rules effectively make it impossible to autostart AutoHotkey.ini with parameters	// unless the filename is explicitly given (shouldn't be an issue for 99.9% of people).	char var_name[32], *param; // Small size since only numbers will be used (e.g. %1%, %2%).	Var *var;	bool switch_processing_is_complete = false;	int script_param_num = 1;	for (int i = 1; i < __argc; ++i) // Start at 1 because 0 contains the program name.	{		param = __argv[i]; // For performance and convenience.		if (switch_processing_is_complete) // All args are now considered to be input parameters for the script.		{			if (   !(var = g_script.FindOrAddVar(var_name, sprintf(var_name, "%d", script_param_num)))   )				return CRITICAL_ERROR;  // Realistically should never happen.			var->Assign(param);			++script_param_num;		}		// Insist that switches be an exact match for the allowed values to cut down on ambiguity.		// For example, if the user runs "CompiledScript.exe /find", we want /find to be considered		// an input parameter for the script rather than a switch:		else if (!stricmp(param, "/R") || !stricmp(param, "/restart"))			restart_mode = true;		else if (!stricmp(param, "/F") || !stricmp(param, "/force"))			g_ForceLaunch = true;		else if (!stricmp(param, "/ErrorStdOut"))			g_script.mErrorStdOut = true;#ifndef AUTOHOTKEYSC // i.e. the following switch is recognized only by AutoHotkey.exe (especially since recognizing new switches in compiled scripts can break them, unlike AutoHotkey.exe).		else if (!stricmp(param, "/iLib")) // v1.0.47: Build an include-file so that ahk2exe can include library functions called by the script.		{			++i; // Consume the next parameter too, because it's associated with this one.			if (i >= __argc) // Missing the expected filename parameter.				return CRITICAL_ERROR;			// For performance and simplicity, open/crease the file unconditionally and keep it open until exit.			if (   !(g_script.mIncludeLibraryFunctionsThenExit = fopen(__argv[i], "w"))   ) // Can't open the temp file.				return CRITICAL_ERROR;		}#endif		else // since this is not a recognized switch, the end of the [Switches] section has been reached (by design).		{			switch_processing_is_complete = true;  // No more switches allowed after this point.#ifdef AUTOHOTKEYSC			--i; // Make the loop process this item again so that it will be treated as a script param.#else			script_filespec = param;  // The first unrecognized switch must be the script filespec, by design.#endif		}	}#ifndef AUTOHOTKEYSC	if (script_filespec)// Script filename was explicitly specified, so check if it has the special conversion flag.	{		size_t filespec_length = strlen(script_filespec);		if (filespec_length >= CONVERSION_FLAG_LENGTH)//.........这里部分代码省略.........
开发者ID:AdminSam,项目名称:ahkmingw,代码行数:101,


示例19: GetCurrentDirectory

// Get a file name from the user, obtain the generated HTML and then save it in that file.void CStatisticsTree::ExportHTML(){	CFile htmlFile;	// Save/Restore the current directory	TCHAR szCurDir[MAX_PATH];	DWORD dwCurDirLen = GetCurrentDirectory(_countof(szCurDir), szCurDir);	if (dwCurDirLen == 0 || dwCurDirLen >= _countof(szCurDir))		szCurDir[0] = _T('/0');	CFileDialog saveAsDlg(false, _T("html"), _T("eMule Statistics.html"), OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_EXPLORER, _T("HTML Files (*.html)|*.html|All Files (*.*)|*.*||"), this, 0);	if (saveAsDlg.DoModal() == IDOK)	{		theApp.emuledlg->statisticswnd->ShowStatistics(true);// force update		CString		strHTML;		strHTML.Format( CString("<html>/r/n<header>/r/n<title>eMule %s [%s]</title>/r/n"			"<meta http-equiv=/"Content-Type/" content=/"text/html; charset=utf-8/">"			"<style type=/"text/css/">/r/n"			"#pghdr { color: #000F80; font: bold 12pt/14pt Verdana, Courier New, Helvetica; }/r/n"			"#pghdr2 { color: #000F80; font: bold 10pt/12pt Verdana, Courier New, Helvetica; }/r/n"			"img { border: 0px; }/r/n"			"a { text-decoration: none; }/r/n"			"#sec { color: #000000; font: bold 9pt/11pt Verdana, Courier New, Helvetica; }/r/n"			"#item { color: #000000; font: normal 8pt/10pt Verdana, Courier New, Helvetica; }/r/n"			"#bdy { color: #000000; font: normal 8pt/10pt Verdana, Courier New, Helvetica; background-color: #FFFFFF; }/r/n</style>/r/n</header>/r/n"			"<script language=/"JavaScript1.2/" type=/"text/javascript/">/r/n"			"function obj(menu)/r/n"			"{/r/n"			"return (navigator.appName == /"Microsoft Internet Explorer/")?this[menu]:document.getElementById(menu);/r/n"			"}/r/n"			"function togglevisible(treepart)/r/n"			"{/r/n"			"if (this.obj(/"T/"+treepart).style.visibility == /"hidden/")/r/n"			"{/r/n"			"this.obj(/"T/"+treepart).style.position=/"/";/r/n"			"this.obj(/"T/"+treepart).style.visibility=/"/";/r/n"			"document[/"I/"+treepart].src=/"stats_visible.gif/";/r/n"			"}/r/n"			"else/r/n"			"{/r/n"			"this.obj(/"T/"+treepart).style.position=/"absolute/";/r/n"			"this.obj(/"T/"+treepart).style.visibility=/"hidden/";/r/n"			"document[/"I/"+treepart].src=/"stats_hidden.gif/";/r/n"			"}/r/n"			"}/r/n"			"</script>/r/n"			"<body id=/"bdy/">/r/n"			"<span id=/"pghdr/"><b>eMule %s</b></span><br /><span id=/"pghdr2/">%s %s</span>/r/n<br /><br />/r/n"			"%s</body></html>") ,			GetResString(IDS_SF_STATISTICS), thePrefs.GetUserNick(),			GetResString(IDS_SF_STATISTICS), GetResString(IDS_CD_UNAME), thePrefs.GetUserNick(),			GetHTMLForExport() );		htmlFile.Open(saveAsDlg.GetPathName(), CFile::modeCreate | CFile::modeWrite | CFile::shareDenyWrite);				CStringA strHtmlA(wc2utf8(strHTML));		htmlFile.Write(strHtmlA, strHtmlA.GetLength());						htmlFile.Close();		static const TCHAR *const s_apcFileNames[] = {			_T("stats_0.gif"), _T("stats_1.gif"), _T("stats_2.gif"), _T("stats_3.gif"), _T("stats_4.gif"),			_T("stats_5.gif"), _T("stats_6.gif"), _T("stats_7.gif"), _T("stats_8.gif"), _T("stats_9.gif"),			_T("stats_10.gif"), _T("stats_11.gif"), _T("stats_12.gif"), _T("stats_13.gif"),			_T("stats_14.gif"), _T("stats_15.gif"), _T("stats_16.gif"), _T("stats_17.gif"),			_T("stats_hidden.gif"), _T("stats_space.gif"), _T("stats_visible.gif")		};		CString		strDst = saveAsDlg.GetPathName().Left(saveAsDlg.GetPathName().GetLength() - saveAsDlg.GetFileName().GetLength());// EC - what if directory name == filename? this should fix this		CString		strSrc = thePrefs.GetMuleDirectory(EMULE_WEBSERVERDIR);		for (unsigned ui = 0; ui < ARRSIZE(s_apcFileNames); ui++)			::CopyFile(strSrc + s_apcFileNames[ui], strDst + s_apcFileNames[ui], false);	}	if (szCurDir[0] != _T('/0'))		VERIFY( SetCurrentDirectory(szCurDir) );}
开发者ID:brolee,项目名称:EMule-GIFC,代码行数:80,


示例20: ATLTRACE

STDMETHODIMP CXMLDOMDocument::load(VARIANT xmlSource, VARIANT_BOOL  *isSuccessful){	ATLTRACE(_T("CXMLDOMDocument::load/n"));	if (NULL == isSuccessful)		return E_POINTER;	*isSuccessful = VARIANT_FALSE;	if (V_VT(&xmlSource) != VT_BSTR					&&		V_VT(&xmlSource) != VT_DISPATCH				&&		V_VT(&xmlSource) != (VT_ARRAY | VT_VARIANT)	&&		V_VT(&xmlSource) != (VT_ARRAY | VT_UI1)		&&		V_VT(&xmlSource) != VT_UNKNOWN)		return E_INVALIDARG;	// do not start another thread if there is another active	if (NULL != m_hParseThread) {		DWORD exitCode = 0;		BOOL rc = ::GetExitCodeThread(m_hParseThread, &exitCode);		if (!rc || STILL_ACTIVE == exitCode)			return S_OK;				::CloseHandle(m_hParseThread);		m_hParseThread = NULL;	}	HRESULT hr = S_OK;	m_bAbort = false;		m_FileName = _T("");	m_xml = _T("");	m_TmpDocument = 0;	m_bThreadValidate = m_bValidate;		if (V_VT(&xmlSource) == VT_BSTR) {		m_FileName = V_BSTR(&xmlSource);		if (0 == m_FileName.length())			return E_INVALIDARG;		// see if the file is relative path		if (!PathIsURL(m_FileName) && PathIsRelative(m_FileName)) {			// try appending baseurl if exists			_bstr_t baseURL;			if (S_OK == GetBaseURL(baseURL)) {				// change any backslashes to slashes				LPTSTR loc = _tcschr(m_FileName,_T('//'));				while (loc != NULL) {					*loc = _T('/');					loc = _tcschr(m_FileName,_T('//'));				}				m_FileName = baseURL + _T("/") + m_FileName;			}			else {				TCHAR szCurDir[MAX_PATH];				GetCurrentDirectory(MAX_PATH,szCurDir);				m_FileName=_bstr_t(szCurDir) + _T("//") + m_FileName;			}		}	}	else	if (V_VT(&xmlSource) == VT_UNKNOWN) {		CComQIPtr<IStream,&IID_IStream> pS(V_UNKNOWN(&xmlSource));		if (!pS)			return E_INVALIDARG;		CComBSTR b;		hr = b.ReadFromStream(pS);		if (S_OK != hr)			return hr;		m_xml = b;		if (0 == m_xml.length())			return E_INVALIDARG;	}	else	if (V_VT(&xmlSource) == VT_DISPATCH) {		CComQIPtr<IXMLDOMDocument,&IID_IXMLDOMDocument> pDoc(V_DISPATCH(&xmlSource));		if (!pDoc)			return E_INVALIDARG;				BSTR b = NULL;		hr = pDoc->get_xml(&b);		if (S_OK != hr)			return hr;		m_xml = b;		::SysFreeString(b);		if (0 == m_xml.length())			return E_INVALIDARG;	}	else	if (V_VT(&xmlSource) == (VT_ARRAY | VT_VARIANT)) {		SAFEARRAY *pArray = reinterpret_cast<SAFEARRAY *> (xmlSource.byref);		if (NULL == pArray)			return E_INVALIDARG;		long lLBoundVar = 0;		long lUBoundVar = 0;//.........这里部分代码省略.........
开发者ID:syoutetu,项目名称:ColladaViewer_VC8,代码行数:101,


示例21: DoLocalPWD

void DoLocalPWD(char *Buf){	if(GetCurrentDirectory(FMAX_PATH, Buf) == 0)		strcpy(Buf, "");	return;}
开发者ID:umorigu,项目名称:ffftp-mirror,代码行数:6,


示例22: Hook_MiniDumpWriteDump

BOOL WINAPI Hook_MiniDumpWriteDump(HANDLE hProcess, DWORD ProcessId, HANDLE hFile, MINIDUMP_TYPE DumpType, CONST PMINIDUMP_EXCEPTION_INFORMATION ExceptionParam, CONST PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam, CONST PMINIDUMP_CALLBACK_INFORMATION CallbackParam){		BOOL result;	if(DumpType != MiniDumpNormal)		return TRUE;#if 0	Gamma_Restore();	ExtDLL_Release();#endif	if (g_pInterface->CommandLine->CheckParm("-nomdmp"))		return FALSE;#if 0	if (!VideoMode_IsWindowed())		VID_SwitchFullScreen(false);	VID_HideWindow();	VID_CloseWindow();#endif	if (BugReport_CreateWindow())		BugReport_MainLoop();	result = g_pfnMiniDumpWriteDump(hProcess, ProcessId, hFile, DumpType, ExceptionParam, UserStreamParam, CallbackParam);	if (result && (g_bSendBugReport || g_bDeleteThisMDMP))	{		POBJECT_NAME_INFORMATION pa = NULL;		char cInfoBuffer[0x10000];		ULONG ulSize;		PWSTR ObjectName;		if (NT_SUCCESS(NtQueryObject0(hFile, (OBJECT_INFORMATION_CLASS)1, cInfoBuffer, sizeof(cInfoBuffer), &ulSize)))		{			pa = (POBJECT_NAME_INFORMATION)cInfoBuffer;			ObjectName = pa->Name.Buffer;			char filebase[MAX_PATH];			char *filename = UnicodeToANSI(ObjectName);			char filepath[MAX_PATH], direcotry[MAX_PATH];			DWORD dwFileSize;			V_FileBase(filename, filebase, sizeof(filebase));			GetCurrentDirectory(sizeof(direcotry), direcotry);			sprintf(filepath, "%s//%s.mdmp", direcotry, filebase);			dwFileSize = GetFileSize(hFile, NULL);			CloseHandle(hFile);			if (g_bSendBugReport)			{				if (dwFileSize < (1024 * 1024 * 5))				{					CSmtp mail;					bool isError = false;					try					{						mail.SetSMTPServer(XorStr<0x13, 12, 0x139F41BA>("/x60/x79/x61/x66/x39/x69/x68/x34/x78/x73/x70" + 0x139F41BA).s, 25); // smtp.qq.com						mail.SetSecurityType(NO_SECURITY);						mail.SetLogin(XorStr<0xB3, 23, 0x6AF33DDC>("/xD0/xC7/xD7/xC2/xD2/xE7/xDB/xCF/xDC/xCF/xD8/xD0/xDB/xA5/xB3/x82/xB2/xB5/xEB/xA5/xA8/xA5" + 0x6AF33DDC).s); // [email
C++ GetCurrentDirectoryA函数代码示例
C++ GetCurrentDir函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。