/***************************************************************************************************************** FILENAME: Exclude.cpp COPYRIGHT© 2001 Microsoft Corporation and Executive Software International, Inc. */ #include "stdafx.h" #ifndef SNAPIN #include #endif #include "ErrMacro.h" #include "expand.h" #include /**************************************************************************************************************** COPYRIGHT© 2001 Microsoft Corporation and Executive Software International, Inc. ROUTINE DESCRIPTION: Checks for an environment parameters in the string, and if found, replaces them with the non-logical value of the environment parameters. INPUT + OUTPUT: IN OUT pString - The string that may contain the environment parameter. GLOBALS: None. RETURN: TRUE - Success. FALSE - Fatal error. */ BOOL ExpandEnvVars( IN OUT TCHAR * pString // should be at least MAX_PATH characters long ) { TCHAR szOriginalString[MAX_PATH+1]; DWORD cchSize = 0; if (!pString || (_tcslen(pString) >= MAX_PATH)) { return FALSE; } _tcsncpy(szOriginalString, pString, MAX_PATH); szOriginalString[MAX_PATH] = TEXT('\0'); cchSize = ExpandEnvironmentStrings(szOriginalString, pString, MAX_PATH); if ((0 == cchSize) || (cchSize > MAX_PATH)) { return FALSE; } return TRUE; } LPTSTR GetHelpFilePath() { static TCHAR szHelpFilePath[MAX_PATH + 20]; static BOOL bReset = TRUE; if (bReset) { ZeroMemory(szHelpFilePath, sizeof(TCHAR) * (MAX_PATH + 20)); if (0 == GetSystemWindowsDirectory(szHelpFilePath, MAX_PATH + 1)) { szHelpFilePath[0] = TEXT('\0'); } _tcscat(szHelpFilePath, TEXT("\\Help\\Defrag.HLP")); //TODO: Check if file exists? bReset = FALSE; } return szHelpFilePath; }