PathUnExpandEnvStrings (shlwapi)
Last changed: -202.74.138.1

.
Summary
Takes a fully qualified path, and replaces folder names with their associated environment strings.

C# Signature:

[DllImport("shlwapi.dll", CharSet=CharSet.Auto)]
static extern bool PathUnExpandEnvStrings(string pszPath, [Out] StringBuilder pszBuf, int cchBuf);

VB Signature:

Declare Function PathUnExpandEnvStrings Lib "shlwapi.dll" (TODO) As TODO

Notes:

This is basically the inverse of ExpandEnvironmentStrings or Environment.ExpandEnvironmentVariables.

Tips & Tricks:

Please add some!

Sample Code:

StringBuilder sb = new StringBuilder(MAX_PATH-1);
bool b = PathUnExpandEnvStrings(@"C:\Program Files\Test", sb, sb.Capacity);
// Result: b == true && sb.ToString() == @"%ProgramFiles%\Test"

Alternative Managed API:

Do you know one? Please contribute it!

Documentation