%systemroot% とか %ProgramFiles% とかの環境変数のパスをC++で展開する方法です。
Windowsにはそれ用のAPIが用意されているようなので、それを使えばいいようです。
APIは ExpandEnvironmentStringsを使います。
使い方はこんな感じです。
//MFCでCString使ったとき
CString filePath = _T("%ProgramFiles%\\xxx\\xxx.exe");
char chrPath[MAX_PATH];
CString filePath2 ;
//環境変数を展開
ExpandEnvironmentStrings(filePath,chrPath,sizeof( chrPath ));
filePath2 = chrPath;
WCHAR CheckFileName[1024];
swprintf( CheckFileName , _T("%%APPDATA%%\\Common.xcu") );
WCHAR CheckFileName2[1024];
//環境変数を展開
ExpandEnvironmentStrings( CheckFileName ,CheckFileName2,sizeof( CheckFileName2 ));
参考: