スクリーンセーバーファイルから文字列を抽出          <TOP>


LoadLibrary DLLをロード 
FreeLibrary ロードしたDLLの解放 
LoadString 実行ファイルに埋めこまれた文字列リソースをロード 
 

例では、スクリーンセーバーファイル「ssstars.scr」に埋め込まれている文字列「宇宙飛行」を抽出しています。

 
'================================================================
'= スクリーンセーバーファイルから文字列を抽出
'=    (LoadString.bas)
'================================================================

' DLLをロード
Declare Function Api_LoadLibrary& Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName$)

' ロードしたDLLの解放
Declare Sub Api_FreeLibrary Lib "kernel32" Alias "FreeLibrary" (ByVal hLibModule&)

' 実行ファイルに埋めこまれた文字列リソースをロード
Declare Function Api_LoadString& Lib "user32" Alias "LoadStringA" (ByVal hInstance&, ByVal wID&, ByVal lpBuffer$, ByVal nBufferMax&)

Var FileName As String
Var Instance As Long
Var Buffer As String * 255
Var Ret As Long

FileName = "ssstars.scr"

Instance = Api_LoadLibrary("c:\windows\system32\" & FileName) 

Ret = Api_LoadString(Instance, 1, Buffer, 255)

Print FileName & " : " & Left$(Buffer, InStr(Buffer, Chr$(0)) - 1)

Api_FreeLibrary(Instance)

Stop
End