shloadindirectstring (shlwapi)
Last changed: -85.167.57.34

.
Summary
Extracts the string from the specified resource when given an indirect string (a string beginning with the @ symbol). All other strings copy to the output buffer unaltered.

C# Signature:

    [DllImport("shlwapi.dll", BestFitMapping = false, CharSet = CharSet.Unicode, ExactSpelling = true, SetLastError = false, ThrowOnUnmappableChar = true)]
    public static extern int SHLoadIndirectString(string pszSource, StringBuilder pszOutBuf, int cchOutBuf, IntPtr ppvReserved);

User-Defined Types:

None.

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

None.

Tips & Tricks:

Use Environment.ExpandEnvironmentVariables(path)

Sample Code:

string resourcePath = "\System32\shell32.dll,-4123";

resourcePath = Environment.ExpandEnvironmentVariables(resourcePath);

StringBuilder outBuff = new StringBuilder();

int result = SHLoadIndirectString(resourcePath, outBuff, -1, IntPtr.Zero);

//SHLoadIndirectString returns S_OK (0) if successfull

if(result == 0)

    Console.WriteLine(outBuff.ToString());

Documentation