Type a page name and press Enter. You'll jump to the page if it exists, or you can create it if it doesn't.
To create a page in a module other than shlwapi, prefix the name with the module name and a period.
<DllImport("shlwapi.dll", EntryPoint:="PathUnExpandEnvStringsW", SetLastError:=true, CharSet:=CharSet.Unicode)> _
Public Function PathUnExpandEnvStrings(<MarshalAs(UnmanagedType.LPTStr)>pszPath As String, _
<MarshalAs(UnmanagedType.LPTStr)>lpszPath As System.Text.StringBuilder, _
dx As Integer) As <MarshalAs(UnmanagedType.Bool)>Boolean
<System.Runtime.InteropServices.DllImport("shlwapi.dll", CharSet:=System.Runtime.InteropServices.CharSet.Auto)> _
Shared Function PathUnExpandEnvStrings(ByVal pszPath As String, ByVal lpszPath As System.Text.StringBuilder, ByVal dx As Integer) As Boolean
End Function
VB.NET Signature:
Public Declare Function PathUnExpandEnvStrings Lib "shlwapi" Alias "PathUnExpandEnvStringsA" _
(ByVal lpSrc As String, _
ByVal lpDst As String, _
ByVal nSize As Long) As Long
StringBuilder sb = new StringBuilder(MAX_PATH-1);
bool b = PathUnExpandEnvStrings(@"C:\Program Files\Test", sb, sb.Capacity);
// Result: b == true && sb.ToString() == @"%ProgramFiles%\Test"
Sample Code VB.NET:
Dim sb As New System.Text.StringBuilder(1024)
Dim blnOK As Boolean = PathUnExpandEnvStrings("C:\Program Files\Test", sb, sb.Capacity)
Dim strUnExpandEnvStrings As String
If blnOK = True Then strUnExpandEnvStrings = sb.ToString ' Should be %ProgramFiles%\Test on English OS
Alternative Managed API:
Do you know one? Please contribute it!
TODO - a short description
2/7/2012 6:57:37 PM - -114.77.130.163
Please edit this page!
Do you have...
helpful tips or sample code to share for using this API in managed code?
corrections to the existing content?
variations of the signature you want to share?
additional languages you want to include?
Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).