出力を「きれい」にするために変数を連結しようとしていますが、他の文字列値と連結すると空の文字列として出力されるようです。
出力コードの抜粋は次のようになります。
local name = ""
local SendMessage = alien.User32.SendMessageA
SendMessage:types{ret = "int", abi = "stdcall", "pointer", "int", "int", "string"}
SendMessage(handle, LB_GETTEXT, index, name)
print(type(name)) --To verify that it is a string type
print(name) --Prints the name "Sample 1" perfectly fine
print("Title: " .. name .. "\n") --Doesn't print the name variable "Sample 1"
出力:
このname
変数は、からWINAPI SendMessage 関数へのAlien for Lua呼び出しを介して設定されます。これは問題の一部である可能性があると思いますが、上記でわかるように、変数はタイプ (Lua) "string" に設定されており、単独で呼び出すと正常に出力されます。ただし、何かと連結すると、空の文字列 (または同様のもの) のように動作します。User32.dll
編集: 私も試しtostring(name)
てみalien.tostring(name)
ました. どちらも問題を解決しません。