3

出力を「きれい」にするために変数を連結しようとしていますが、他の文字列値と連結すると空の文字列として出力されるようです。

出力コードの抜粋は次のようになります。

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)ました. どちらも問題を解決しません。

4

1 に答える 1