// UnExpandTest.cpp // Copyright (C) 2018 Katayama Hirofumi MZ // This file is public domain software. #include #include #include using namespace std; int main(void) { CHAR szPathA[MAX_PATH]; WCHAR szPathW[MAX_PATH]; DWORD ret; ret = PathUnExpandEnvStringsA("%ProgramFiles%\\Test", szPathA, MAX_PATH); printf("PathUnExpandEnvStringsA: %d: %s\n", ret, szPathA); ret = PathUnExpandEnvStringsA("%SystemRoot%\\Test.txt", szPathA, MAX_PATH); printf("PathUnExpandEnvStringsA: %d: %s\n", ret, szPathA); ret = PathUnExpandEnvStringsW(L"%ProgramFiles%\\Test", szPathW, MAX_PATH); printf("PathUnExpandEnvStringsW: %d: %ls\n", ret, szPathW); ret = PathUnExpandEnvStringsW(L"%SystemRoot%\\Test.txt", szPathW, MAX_PATH); printf("PathUnExpandEnvStringsW: %d: %ls\n", ret, szPathW); ret = ExpandEnvironmentStringsA("%ProgramFiles%\\C:\\Program Files\\Test", szPathA, MAX_PATH); printf("ExpandEnvironmentStringsA: %d: %s\n", ret, szPathA); ret = ExpandEnvironmentStringsA("%ProgramFiles%\\C:\\Windows\\Test.txt", szPathA, MAX_PATH); printf("ExpandEnvironmentStringsA: %d: %s\n", ret, szPathA); ret = ExpandEnvironmentStringsW(L"%ProgramFiles%\\C:\\Program Files\\Test", szPathW, MAX_PATH); printf("ExpandEnvironmentStringsW: %d: %ls\n", ret, szPathW); ret = ExpandEnvironmentStringsW(L"%ProgramFiles%\\C:\\Windows\\Test.txt", szPathW, MAX_PATH); printf("ExpandEnvironmentStringsW: %d: %ls\n", ret, szPathW); ret = PathUnExpandEnvStringsA("C:\\Program Files\\Test", szPathA, MAX_PATH); printf("PathUnExpandEnvStringsA: %d: %s\n", ret, szPathA); ret = PathUnExpandEnvStringsA("C:\\Windows\\Test.txt", szPathA, MAX_PATH); printf("PathUnExpandEnvStringsA: %d: %s\n", ret, szPathA); ret = PathUnExpandEnvStringsW(L"C:\\Program Files\\Test", szPathW, MAX_PATH); printf("PathUnExpandEnvStringsW: %d: %ls\n", ret, szPathW); ret = PathUnExpandEnvStringsW(L"C:\\Windows\\Test.txt", szPathW, MAX_PATH); printf("PathUnExpandEnvStringsW: %d: %ls\n", ret, szPathW); ret = ExpandEnvironmentStringsA("C:\\Program Files\\Test", szPathA, MAX_PATH); printf("ExpandEnvironmentStringsA: %d: %s\n", ret, szPathA); ret = ExpandEnvironmentStringsA("C:\\Windows\\Test.txt", szPathA, MAX_PATH); printf("ExpandEnvironmentStringsA: %d: %s\n", ret, szPathA); ret = ExpandEnvironmentStringsW(L"C:\\Program Files\\Test", szPathW, MAX_PATH); printf("ExpandEnvironmentStringsW: %d: %ls\n", ret, szPathW); ret = ExpandEnvironmentStringsW(L"C:\\Windows\\Test.txt", szPathW, MAX_PATH); printf("ExpandEnvironmentStringsW: %d: %ls\n", ret, szPathW); return 0; } /* Output: C:\MinGW\Progs>g++ UnExpandTest3.cpp -lshlwapi -o UnEx3.exe C:\MinGW\Progs>unex3 PathUnExpandEnvStringsA: 0: b?¯wrG¦w8?¯w¬§oP)P@ PathUnExpandEnvStringsA: 0: b?¯wrG¦w8?¯w¬§oP)P@ PathUnExpandEnvStringsW: 0: PathUnExpandEnvStringsW: 0: ExpandEnvironmentStringsA: 45: C:\Program Files (x86)\C:\Program Files\Test ExpandEnvironmentStringsA: 43: C:\Program Files (x86)\C:\Windows\Test.txt ExpandEnvironmentStringsW: 45: C:\Program Files (x86)\C:\Program Files\Test ExpandEnvironmentStringsW: 43: C:\Program Files (x86)\C:\Windows\Test.txt PathUnExpandEnvStringsA: 1: %SystemDrive%\Program Files\Test PathUnExpandEnvStringsA: 1: %SystemRoot%\Test.txt PathUnExpandEnvStringsW: 1: %SystemDrive%\Program Files\Test PathUnExpandEnvStringsW: 1: %SystemRoot%\Test.txt ExpandEnvironmentStringsA: 22: C:\Program Files\Test ExpandEnvironmentStringsA: 20: C:\Windows\Test.txt ExpandEnvironmentStringsW: 22: C:\Program Files\Test ExpandEnvironmentStringsW: 20: C:\Windows\Test.txt C:\MinGW\Progs> */