Здравствуйте, гость ( Вход | Регистрация )

> ffi pid по hwnd
DarkMaster
сообщение 17.2.2024, 16:59
Сообщение #1


***********

Модератор UOPilot
Сообщений: 9.745
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29676
Пользователь №: 11.279



Господа, а как дернуть pid по hwnd?
Я так люблю виндовые переопределения типов... Задолбался уже...
Во 1 GetWindowThreadProcessId я же правильно понимаю, что это НЕ оно? Он же id потока вернет?
GetProcessHandleFromHwnd требует чтобы ему передали HWND__. Что есть это нашлась только одна страничка с гордой структурой из одного инта. Как еще через ffi воссоздать не понимаю. Объявляю define, делаю ffi.new('HWND__[1]' говорит declaration specifier expected near 'HWND__'...


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
DarkMaster
сообщение 19.2.2024, 9:20
Сообщение #2


***********

Модератор UOPilot
Сообщений: 9.745
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29676
Пользователь №: 11.279



Цитата
Куда туда ?

в GetProcessHandleFromHwnd
Цитата
Зачем что то засовывать, если cirus дал конечный код.

Не рабочий.
Цитата
Если у тебя при его использовании выводится в лог не 0, то все работает.

Если функция что-то возвращает, то это не значит, что она работает корректно.

Полученное значение слишком мало, чтобы быть указателем ~800 и увеличивается при каждом запуске, что характерно для создания новых указателей. При попытке прочитать данный указатель получаем тихий краш скрипта, что явно напоминает попытку чтения неразмечнной области памяти.

Так же если функция ожидает получить на входе _указатель_ и планирует вренуть на выходе _указатель_ и нет каких либо упоминаний оперегрузке функции, то мне действительно кажется это не правильным пытаться туда пихать данные напрямую. В моем понимании в таком виде это не может работать. При передаче указателя я получаю ошибку невозможности прикастовать к HWND__.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
DarkMaster   ffi pid по hwnd   17.2.2024, 16:59
DarkMaster   хэндл естественно имеет type number луашный. workw...   17.2.2024, 17:36
Cockney   Не, ну чего ты как маленький... https://learn.mic...   17.2.2024, 21:09
DarkMaster   Ну так я был там. В том и проблема, что HWND__ там...   18.2.2024, 5:42
Cockney   Ну так я был там. В том и проблема, что HWND__ та...   18.2.2024, 13:27
cirus   --lua local ffi = require("ffi") l...   18.2.2024, 11:13
DarkMaster   GetWindowThreadProcessId вернет разве id процесса?...   18.2.2024, 12:08
DarkMaster   Это мне луа выкидывает ошибку что не может к нему...   18.2.2024, 13:38
cirus   GetWindowThreadProcessId возвращает ид потока, в п...   18.2.2024, 13:50
DarkMaster   мля а вот теперь стыдно стало =) тем не менее GetP...   18.2.2024, 14:29
cirus   Индексация начинается с 0.   18.2.2024, 16:37
DarkMaster   ffi.cdef([[ typedef void * PVOID; t...   18.2.2024, 18:41
Cockney   А почему вообще оле используется ? Зачем он тут   18.2.2024, 18:42
cirus   Проще так: --lua local ffi = require("ffi...   18.2.2024, 19:17
DarkMaster   потому что нужна либа с этой функцией ole ее соде...   18.2.2024, 19:34
Cockney   хендл и есть по сути указатель. если бы функция ...   18.2.2024, 21:35
DarkMaster   при попытке засунуть туда указатель ловлю маты на...   19.2.2024, 3:58
Cockney   Куда туда ? Зачем что то засовывать, если cirus да...   19.2.2024, 9:00
DarkMaster   user.GetWindowThreadProcessId(ffi.cast('HWND...   19.2.2024, 10:52
cirus   Не проще посмотреть пример чтения памяти? https://...   19.2.2024, 11:30
Cockney   Крамольную вещь напишу - мне кажется лучше всего...   19.2.2024, 11:31
DarkMaster   Гут ссылка. Тем не менее есть вопрос =) ты объявл...   19.2.2024, 11:58
DarkMaster   Так в том и вопрос. В документации на входе и вых...   19.2.2024, 12:24
Cockney   Так в том и вопрос. В документации на входе и вых...   19.2.2024, 19:20
cirus   Это всё одно и тоже, по сути int. Нет смысла игра...   19.2.2024, 14:27
DarkMaster   Банально взять тот же ReadProcessMemory по майкрос...   19.2.2024, 19:42
Cockney   Ну давай попробуем по порядку: 1) Любой указатель...   19.2.2024, 20:16
DarkMaster   ну типа звездочка = указатель, если совсем по дуб...   19.2.2024, 20:21
Cockney   Использование void* не в качестве указателя обусло...   19.2.2024, 20:34
Aqualon   Да, возвращает GetWindowThreadProcessId действител...   20.2.2024, 2:15
DarkMaster   handle лучше завернуть в tostring(handle), т.к. е...   20.2.2024, 7:42
DarkMaster   Я уже раз десятый перечитваю это... Ну разве не к...   20.2.2024, 19:08
Cockney   А есть ли у тебя опыт поддержки кодовой базы в мил...   20.2.2024, 20:33
DarkMaster   А я и не претендую. Просто смотрю на это и впадаю...   21.2.2024, 7:43
Cockney   Ну это прям разные случаи. От тебя не зависело до ...   21.2.2024, 13:03


Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 18.7.2025, 10:31
Designed by Nickostyle