Кибор » Кибор - Интегрированная среда разработки ботов » О программе Кибор » Версия 4.13 Подключение своих DLL. Использование WinAPI функции в скрипте с стандартных библиотек

Страниц (7): « 1 2 3 4 [5] 6 7 »
 

41. Kibor - 18 Июня, 2020 - 14:09:12 - перейти к сообщению
Сделайте сами горячие клавиши. Программа позволяет.
По поводу второго вопроса не знаю. Детектить именно анитиантикликер они не могут. Только драйвер или софт.
42. Oilex - 18 Июня, 2020 - 15:33:20 - перейти к сообщению
 Kibor пишет:
Только драйвер или софт.

Действительно похоже что драйвер. Гепард отказывается запускать игру в режиме test-signing (без цифровой подписи драйверов). Как с этим бороться?
43. Kibor - 18 Августа, 2020 - 12:46:35 - перейти к сообщению
Добавлена функция freelibrary.

Ее назначение выгрузка подключенной ранее DLL с помощью external
Внимание! Выгрузка определенного DLL приведет к недоступности всех функций загруженных с DLL с этим именем, пока она опять не будут подключены с помощью external

Синтаксис:
CODE:
int hModule=external(INT, "ShellExecute", "ShellExecuteA", "Shell32.dll");//Загрузили
freelibrary(hModule);//Выгрузили.


Пример недоступности выгруженной DLL
CODE:
int hModule=external(INT, "ShellExecute", "ShellExecuteA", "Shell32.dll");
ShellExecute(0, "Open", "http:/^/kibor-bot.com/education-kibor.php", 0, "", 61728);
freelibrary(hModule);//Выгрузили.
messagebox("Тут функция ShellExecute не доступна будет, как и все функции с этой DLL подключенные ранее.");
ShellExecute(0, "Open", "http:/^/kibor-bot.com/education-kibor.php", 0, "", 61728);


Тут пример выгрузки и повторной загрузки. Ошибок нет.
CODE:
int hModule=external(INT, "ShellExecute", "ShellExecuteA", "Shell32.dll");
ShellExecute(0, "Open", "http:/^/kibor-bot.com/education-kibor.php", 0, "", 61728);
freelibrary(hModule);//Выгрузили.
messagebox("Опять загрузим.");
hModule=external(INT, "ShellExecute", "ShellExecuteA", "Shell32.dll");
ShellExecute(0, "Open", "http:/^/kibor-bot.com/education-kibor.php", 0, "", 61728);
freelibrary(hModule);//Выгрузили.
44. Asmond - 30 Сентября, 2020 - 02:05:04 - перейти к сообщению
подскажите, как средствами WinAPI удалить папку с файлами? Перемещение через MoveFile работает - перемещает папку со всем содержимым, а вот удалить через DeleteFile уже не получается.
45. Zireael - 30 Сентября, 2020 - 03:36:59 - перейти к сообщению
 Цитата:
как средствами WinAPI удалить папку с файлами?

CODE:
#define FO_DELETE 3
#define FOF_NOCONFIRMATION 0x10
#define FOF_NOERRORUI 0x0400
#define FOF_SILENT 0x0004
external(INT, "SHFileOperation", "SHFileOperationA", "Shell32.dll");
// всё что выше в начало скрипта


DeleteFolder("C:\123"); //удалить папку



function DeleteFolder(string path)
{
char temp_dir[999];
int SHFILEOPSTRUCT[8];
initialarray(#temp_dir[0], 0);
initialarray(#SHFILEOPSTRUCT[0], 0);
strcpy(#temp_dir[0], path);
SHFILEOPSTRUCT[1] = FO_DELETE;
SHFILEOPSTRUCT[2] = address(#temp_dir[0]);
SHFILEOPSTRUCT[4] = FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_SILENT;

SHFileOperation(address(#SHFILEOPSTRUCT[0]));
}
46. Asmond - 30 Сентября, 2020 - 04:46:20 - перейти к сообщению
Спасибо!
Но оно ругается чего-то, а я его не понимаю:

Ошибка в
Код:
SHFileOperation (address(#SHFILEOPSTRUCT[0]))
Инструкция:
SHFileOperation 609768432
47. Zireael - 30 Сентября, 2020 - 04:50:08 - перейти к сообщению
 Цитата:
external(INT, "SHFileOperation", "SHFileOperationA", "Shell32.dll" )

В конце добавить ;
CODE:
external(INT, "SHFileOperation", "SHFileOperationA", "Shell32.dll");
48. Asmond - 30 Сентября, 2020 - 05:58:38 - перейти к сообщению
Точно! Спасибо! Всё работает.
49. Zireael - 02 Апреля, 2021 - 03:40:10 - перейти к сообщению
CODE:
external(INT, "sscanf", "sscanf", "msvcrt.dll");

При совпадении имени будет вызвана функция из длл или возможно что вызовется одноименная функция кибор?
Или лучше не использовать совпадающие имена?
50. Kibor - 02 Апреля, 2021 - 03:47:00 - перейти к сообщению
CODE:
external(INT, "sscanf", "sscanf", "msvcrt.dll");


int p1, p2;

string input_s = "Возраст: 30 лет, рост:178 см";
sscanf(input_s,"Возраст: %d лет, рост:%d см", #p1, #p2);

messagebox (p1);
messagebox (p2);


Вызывается функция Кибор.

Использовать в external совпадающие имена нет никакого смысла.

Так надо.
CODE:
external(INT, "sscanf_1", "sscanf", "msvcrt.dll");


int p1, p2;

string input_s = "Возраст: 30 лет, рост:178 см";
sscanf(input_s,"Возраст: %d лет, рост:%d см", #p1, #p2);

messagebox (p1);
messagebox (p2);

Powered by ExBB FM 1.0 Final