Добрый день.
Есть много вариантов подключения шаблонов внутри проекта, но данный вариант нигде на форуме не проскакивал, и не был раннее, кроме моих тем о многофункциональном кубике.
Много раз создавая темы мы имеет возможность видеть что например плагин или чужой шаблон куда то ушли, так как по ошибке мы удалили эти фаилы или переместили в другую папку
И как видим, плагин надо снова искать.
С помощью использования временного хранилища данных чтобы загрузить файл мы преобразуем наш шаблон/плагин в код base64
В данном случаем мы конвертирует и шаблон, и плагин с именем test_c_plugin
Конвертировать можно с помощью php
Код самого плагина:
Далее получаем текст в base64 и вставляем в нашу заготовку
До после
Теперь плагин или вложенный шаблон/проект часть единого/основного проекта
Результат выполнения
UDP: с зашифрованными плагинами такой трюк не сработает
Работает как с Zennoposter и Zennodroid
Спасибо за внимание
Есть много вариантов подключения шаблонов внутри проекта, но данный вариант нигде на форуме не проскакивал, и не был раннее, кроме моих тем о многофункциональном кубике.
Много раз создавая темы мы имеет возможность видеть что например плагин или чужой шаблон куда то ушли, так как по ошибке мы удалили эти фаилы или переместили в другую папку
И как видим, плагин надо снова искать.
С помощью использования временного хранилища данных чтобы загрузить файл мы преобразуем наш шаблон/плагин в код base64
В данном случаем мы конвертирует и шаблон, и плагин с именем test_c_plugin
Конвертировать можно с помощью php
PHP:
<?php
$f = file_get_contents("test_c_plugin.zpg");
file_put_contents(__DIR__."/2.txt", base64_encode($f));
?>
C#:
void info(string word){ project.SendInfoToLog(word.ToString(), "[Guru][VX]", true); }
foreach(string name in project.Context.Keys){
info(name+": "+project.Context[name]); //Вывод всех возможных переменных
}
Далее получаем текст в base64 и вставляем в нашу заготовку
C#:
project.Context["test"] = "Test1"; //данные что передаются в плагин для работы
project.Context["test1"] = "test2"; //данные что передаются в плагин для работы
byte[] fileBytes = Convert.FromBase64String(getplugin());
string tempFilePath = Path.Combine(Path.GetTempPath(), "test_plugin.zp");
File.WriteAllBytes(tempFilePath, fileBytes);
bool res = project.ExecuteProject(tempFilePath, null, true, true, true);
if(File.Exists(tempFilePath)){ File.Delete(tempFilePath); }
if(!res){ throw new Exception("Что то пошло не так!"); }
string getplugin(){
return "Код base64";
}
Теперь плагин или вложенный шаблон/проект часть единого/основного проекта
Результат выполнения
UDP: с зашифрованными плагинами такой трюк не сработает
Работает как с Zennoposter и Zennodroid
Спасибо за внимание
Вложения
-
38,5 КБ Просмотры: 10
-
21,7 КБ Просмотры: 4
-
16,3 КБ Просмотры: 5
-
11,3 КБ Просмотры: 4
-
35,2 КБ Просмотры: 6
-
82,7 КБ Просмотры: 111
Последнее редактирование: