Звоните windows apps lib из CE Lua - PullRequest
0 голосов
/ 15 января 2020

Поскольку Cheat Engine имеет имя функции: executeCodeLocalEx (), используйте для вызова и вызова функции библиотеки приложения windows, пример:

   memorystore=createMemoryStream()
   --use memorystore.writeByte/Word/Dword to fill in the memorystore
   executeCodeLocalEx('mciSendCommandA', IDDevice, msg, flags, memorystore.Memory)

и в Lazarus 1.6.4 ошибка не может отображаться TEdit Text Подсказка, я думаю, что возможно сделать всплывающие подсказки, используя windows win32 / user32 Стиль управления всплывающей подсказкой TTS_BALLOON.

 hwndToolTips = CreateWindow(TOOLTIPS_CLASS, NULL, 
                        WS_POPUP | TTS_NOPREFIX | TTS_BALLOON, 
                        0, 0, 0, 0, NULL, NULL, g_hinst, NULL);

 if (hwndTooltip)
 {
  TOOLINFO ti;
  ti.cbSize   = sizeof(ti);
  ti.uFlags   = TTF_TRANSPARENT | TTF_CENTERTIP;
  ti.hwnd     = hwnd;
  ti.uId      = 0;
  ti.hinst    = NULL;
  ti.lpszText = LPSTR_TEXTCALLBACK;
  GetClientRect(hwnd, &ti.rect);
  SendMessage(hwndToolTips, TTM_ADDTOOL, 0, (LPARAM) &ti );
 }

Но я не знаю, как реализовать его с помощью функции executeCodeLocalEx () на CE Lua скрипт. Любая помощь или другие способы?

РЕДАКТИРОВАТЬ: Это пример вызова user32 windows приложений, использующих команду Cheat Engine executeCodeLocalEx () (работает только с 64-битным CE).

  function MessageBox(title,text,uType)
    return executeCodeLocalEx("user32.MessageBoxA", MainForm.Handle, text,  title, uType)
  end

 local a = MessageBox("The title", "the text", 1)
 print(a)

Если код выше выполняется, окно сообщения покажет. Как реализовать метод всплывающих подсказок с помощью user32.CreateWindowExA и SendMessage?.

...