Обращение к функциям Windows из OpenKore

Дополнения к OpenKore, расширяющиее её функциональность, называются плагинами.

Модератор: 4epT

Reitermaniac
Новичок
Сообщения: 2
Зарегистрирован: Сб ноя 22, 2008 11:04 pm
Сервер RO:: iRO

Обращение к функциям Windows из OpenKore

Сообщение Reitermaniac »

Необходимо сделать возможной использование внешней *.dll в плагине.(Использую ### OpenKore 2.0.5, с вашего сайта.)
1)Погуглил - реализовал это в perl-e:

Код: Выделить всё

use Win32::API;
my $function =Win32::API->new('TestingDll.dll', 'Sum', 'II', 'I',);
print($function->Call(2,4));
При запуске всё работает.
2)Стал портировать в плагин коры. Кора начала ругаться на
"use Win32::API", дескать знать не знаю что это такое.
Накопировал ей запрашиваемых файлов, в нужные директории -
\src\Win32\API.pm
\src\Win32\API\Callback.pm
\src\Win32\API\Struct.pm
\src\Win32\API\Type.pm
3)Кора начала ругаться на отсутствие файла auto\Win32\API\api.dll - нашёл его в одной из директорий перла и закинул в созданную в коре директорию auto\Win32\API\
Итого - кора при запуске крашится без каких либо сообщений. Тупо

Код: Выделить всё

start.exe - обнаружена ошибка. Приложение будет закрыто. Приносим извинения за неудобства.

Код: Выделить всё

AppName: start.exe	 AppVer: 0.0.0.0	 ModName: api.dll
ModVer: 0.0.0.0	 Offset: 00004121
Полез к вам на форум, нашёл вот эту тему:
viewtopic.php?f=7&t=1706&p=20003&hilit= ... %3B#p20003, где обсуждается решение такой же проблемы похожим методом. Пробовал переносить файлы в директории, указанные в этом топике - не помогало, видимо для старой версии коры этот гайд.
Может кто поможет прикрутить Win32::API к коре?.
vit
Бывалый
Сообщения: 624
Зарегистрирован: Вс мар 25, 2007 9:18 pm
Сервер RO:: localhost
Откуда: Санкт-Петербург

Re: Обращение к функциям Windows из OpenKore

Сообщение vit »

Вот тут я прикручивал, работало
viewtopic.php?t=4454
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Re: Обращение к функциям Windows из OpenKore

Сообщение kLabMouse »

Reitermaniac
Вот что нужно скопировать:

Код: Выделить всё

\plugins\auto\Win32\API\API.dll
\plugins\Win32\API.pm
\plugins\Win32\API\Callback.pm
\plugins\Win32\API\Struct.pm
\plugins\Win32\API\Type.pm
И скопировать нужно из папочек, чётко соответвующих с перла (папка либ, или сайт/либ).
Reitermaniac
Новичок
Сообщения: 2
Зарегистрирован: Сб ноя 22, 2008 11:04 pm
Сервер RO:: iRO

Re: Обращение к функциям Windows из OpenKore

Сообщение Reitermaniac »

Код: Выделить всё

\plugins\auto\Win32\API\API.dll
\plugins\Win32\API.pm
\plugins\Win32\API\Callback.pm
\plugins\Win32\API\Struct.pm
\plugins\Win32\API\Type.pm
Не получается, кора в папке plugins\Win32\API... не замечает и продолжает запрашивать эти файлы в каталоге src. Кидаю в src\Win32 - просит библиотеку в папку auto. Кидаю библиотеку(взята из perl\lib\auto\Win32\API) в src\auto\Win32\API\api.dll - кора выдаёт описанную в первом посте ошибку. Причём если использовать Win32::API без коры, то всё работает норм, т.е. dll правильная.
vit
Бывалый
Сообщения: 624
Зарегистрирован: Вс мар 25, 2007 9:18 pm
Сервер RO:: localhost
Откуда: Санкт-Петербург

Re: Обращение к функциям Windows из OpenKore

Сообщение vit »

Попробуй ActivePerl поставить, а не через start/wxstart.
Ответить