_WinAPI_LoadString
Загружает string-ресурс из исполняемого файла, связанного с указанным модулем
#include <WinAPI.au3>
_WinAPI_LoadString($hInstance, $iStringId)
Параметры
$hInstance | Дескриптор экземпляра модуля, исполняемый файл которого содержит строку ресурса |
$iStringId |
Идентификатор (ID) строки, текст которой необходимо получить. Целое число. |
Возвращаемое значение
Успех: | Возвращает строку, @extended содержит количество символов, определяемое TCHARS |
Ошибка: | Возвращает пустую строку и устанавливает @error |
См. также
_WinAPI_LoadLibraryEx, _WinAPI_FreeLibraryСм. также
Искать LoadString в библиотеке MSDNПример
#include <GuiReBar.au3>
#include <WinAPI.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
Global $iMemo
_Main()
Func _Main()
Local $hGUI, $hInput, $btn_get, $hReBar, $hInstance, $sText
; Создаёт GUI
$hGUI = GUICreate("WinAPI", 400, 260)
$hInput = GUICtrlCreateInput("4209", 0, 0, 100, 20)
; Создаёт элемент ReBar
$hReBar = _GUICtrlRebar_Create($hGUI, BitOR($CCS_TOP, $WS_BORDER, $RBS_VARHEIGHT, $RBS_AUTOSIZE, $RBS_BANDBORDERS))
$iMemo = GUICtrlCreateEdit("", 2, 30, 396, 200, BitOR($WS_VSCROLL, $WS_HSCROLL))
GUICtrlSetFont($iMemo, 10, 400, 0, "Courier New")
; Добавляет ленту, содержащую элемент
_GUICtrlRebar_AddBand($hReBar, GUICtrlGetHandle($hInput), 120, 200, "ID строки:")
$btn_get = GUICtrlCreateButton("Получить строку", 0, 0, 90, 20)
; Добавляет ленту, содержащую элемент
_GUICtrlRebar_AddBand($hReBar, GUICtrlGetHandle($btn_get), 120, 200)
GUISetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $btn_get
GUICtrlSetData($iMemo, "")
$hInstance = _WinAPI_LoadLibraryEx("shell32.dll", $LOAD_LIBRARY_AS_DATAFILE)
If $hInstance Then
$sText = _WinAPI_LoadString($hInstance, GUICtrlRead($hInput))
If Not @error Then
MemoWrite('Получена строка (' & @extended & ' символов): ' & @CRLF & $sText)
Else
MemoWrite("Последнее сообщение об ошибке: " & @crlf & _WinAPI_GetLastErrorMessage())
EndIf
MemoWrite(@crlf & "успешное освобождение? " & _WinAPI_FreeLibrary($hInstance))
EndIf
EndSwitch
WEnd
EndFunc ;==>_Main
; Записывает строку в элемент для заметок
Func MemoWrite($sMessage = "")
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite