# Function Reference

# _WinAPI_LoadIndirectString

Extracts the string from the specified resource when given an indirect string

#include <WinAPIRes.au3>
_WinAPI_LoadIndirectString ( $sStrIn )

## Parameters

$sStrIn | The input indirect string.

## Return Value

Success: | The output string.
Failure: | Sets the @error flag to non-zero, @extended flag may contain the HRESULT error code.

## Remarks

If the string is an indirect string (a string beginning with the "@" symbol), it is in the following form.
@filename,resource
The string is extracted from the file named, using the resource value as a locator. If the resource value is
zero or greater, the number becomes the index of the string in the binary file. If the number is negative,
it becomes a resource ID. An indirect string can be appended with a version modifier, as shown here:
@filename,resource;v2
This form can be used when a string is changed but still uses the same index or resource ID as the old string.
Without a version modifier, the Multilingual User Interface (MUI) cache would not recognize that the string had
changed and would continue to use the old value. By appending the version modifier, the value is seen as a
new resource and is added to the cache. Note that it is recommended that you use a new resource ID or index
for a new string, and use a version modifier only when that is not possible.
If the input string is not an indirect string, the function returns an input string unchanged.

## See Also

Search SHLoadIndirectString in MSDN Library.

## Example

    #include <WinAPIRes.au3>

    ConsoleWrite(_WinAPI_LoadIndirectString('@"' & @AutoItExe & '",-122') & @CRLF)