Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Lua, alien] Konwersja typow WinAPI <> Lua

Ostatnio zmodyfikowano 2012-06-14 10:10
Autor Wiadomość
dominicuss
Temat założony przez niniejszego użytkownika
[Lua, alien] Konwersja typow WinAPI <> Lua
» 2012-06-14 10:10:26
Witam,
problem leży w fakcie że nie mam bladego pojęcia jak konwertować typy zdefiniowane w WinAPI
tj. np. 'HWND' domyślam się że najbliższym typem w Lua będzie 'number'

podejrzewam że najlepiej ogarnę używanie typów na przykładzie:
mam taka funkcję która działa:

require "alien"

user32 = alien.load("user32.dll")

user32.FindWindowA:types {"string","string",abi="stdcall"}
w_handle = user32.FindWindowA(nil, "Mozilla Firefox")

typ WinAPI LPTSTR = string
no i jako ostatni parametr funkcji podaje konwencje wywołania, można jeszcze podac jako parametr 'ret' typ zwracany przez funkcje.

mam teraz taka funkcje

-- LRESULT WINAPI SendMessage(HWND, UINT, WPARAM, LPARAM);
messages = {
usr = dominicuss
}
user32.SendMessageA:types {"number","number","number","number",abi="stdcall"}
user32.SendMessageA(w_handle, CB_ADDSTRING, 0, messages.usr)

niestety w/w funkcja nie działa, Lua zwraca error nieprawidłowy argument #-2 w funkcji types
P-58460
« 1 »
  Strona 1 z 1