set_hook($action,$php_script); - задать хук (выполнение опереленного скрипта при достижении определенного условия) на определенное действие.
Функция на вход принимает параметры:
$action – действие на которое ставится хук (условие) :
"unpause" - при нажатии кнопки 'Снять скрипт с паузы'
"stop" - при нажатии кнопки 'Стоп'
"exitapp" - при получении команды app->exitapp (начиная с 4.9.21)
"quit" - при получении команды app->quit (начиная с 4.9.21)$php_script – скрипт, который запускается по заданному действию После отработки функция возвращает результат своей работы в робот :
true – операция выполнена успешно false – во время операции произошли ошибки
Пример использования set_hook (PHP):
<?php $xhe_host = "127.0.0.1:7035"; // подключим объект для управления эмулятором, если еще не подключен if (!isset($path)) $path="../../../Templates/init.php"; require($path); // начало echo "<hr><font color=blue>debug->".basename (__FILE__)."</font><hr>"; // 1 echo "1. Зададим обработчики (хуки) на действия снятия с паузы и остановки : "; echo $debug->set_hook("unpause","hook/hook_unpause.php")." "; echo $debug->set_hook("stop","hook/hook_stop.php")."<br>"; // сообщение $debug->message_box("Для запуска хука снатия с паузы, снимите скрипт с паузы."); // поставим на паузу - после нажатия снятия с кнопки выполнится hook_unpause.php $app->pause(0); // 2 echo "2. Получим результат работы хука (hook_unpause.php) : <br><br>"; if ($file_os->is_exist("hook/hook_unpause.php.res")) echo ($textfile->read_file("hook/hook_unpause.php.res"))."<br>"; // сообщение $debug->message_box("Для запуска хука останова, нажмите кнопку остановить скрипт."); // большая пауза sleep(5000); // конец echo "<hr><br>"; // Quit $app->quit(); ?>
Пример использования set_hook (C#):
#region using using System; using System.Diagnostics; using System.Collections.Generic; using System.Linq; using System.IO; using System.Text; using System.Threading; using XHE; using XHE.XHE_DOM; using XHE.XHE_System; using XHE.XHE_Window; using XHE.XHE_Web; #endregion class Program:XHEScript { static void Main(string[] args) { // init XHE server="127.0.0.1:7010"; InitXHE(); // начало echo("<hr><font color=blue>debug.clear_tab_content</font><hr>"); // 1 шаг echo "1. Зададим обработчики (хуки) на действия снятия с паузы и остановки : "; echo $debug->set_hook("unpause","hook/hook_unpause.php")." "; echo $debug->set_hook("stop","hook/hook_stop.php")."<br>"; // сообщение $debug->message_box("Для запуска хука снатия с паузы, снимите скрипт с паузы."); // поставим на паузу - после нажатия снятия с кнопки выполнится hook_unpause.php $app->pause(0); // 2 шаг echo "2. Получим результат работы хука (hook_unpause.php) : <br><br>"; if ($file_os->is_exist("hook/hook_unpause.php.res")) echo ($textfile->read_file("hook/hook_unpause.php.res"))."<br>"; // сообщение $debug->message_box("Для запуска хука останова, нажмите кнопку остановить скрипт."); // боьшая пауза sleep(5000); // конец echo("<hr><br>"); app.quit(); } }
Пример использования set_hook (Python):
# Additional paths import sys sys.path.insert(0, '../../../Templates PY/') xhe_host = "127.0.0.1:7017" from xweb_human_emulator import * # начало echo("<hr><font color=blue>debug.xxxxxxxxx</font><hr>") # 1 echo("1. Зададим обработчики (хуки) на действия снятия с паузы и остановки : ") echo(debug.set_hook("unpause","hook/hook_unpause.php")," ") echo(debug.set_hook("stop","hook/hook_stop.php"),"<br>") # сообщение debug.message_box("Для запуска хука снатия с паузы, снимите скрипт с паузы.") # поставим на паузу - после нажатия снятия с кнопки выполнится hook_unpause.php app.pause(0) # 2 echo("2. Получим результат работы хука (hook_unpause.php) : <br><br>") if file_os.is_exist("hook/hook_unpause.php.res"): debug.message_box(textfile.read_file("hook/hook_unpause.php.res")) # сообщение debug.message_box("Для запуска хука останова, нажмите кнопку остановить скрипт.") # большая пауза sleep(5000) # конец echo("<hr><br>") # Quit app.quit()
Пример использования set_hook (JS):
// подключим объект для управления эмулятором, если еще не подключен xhe_host="127.0.0.1:7010"; echo=require("../../../Templates JS/init.js"); // начало echo("<hr><font color=blue>debug.set_hook</font><hr>"); // 1 шаг echo("1. Зададим обработчики (хуки) на действия снятия с паузы и остановки : "); echo(debug.set_hook("unpause","hook/hook_unpause.js")+" "); echo(debug.set_hook("stop","hook/hook_stop.js")+"<br>"); // сообщение debug.message_box("Для запуска хука снатия с паузы, снимите скрипт с паузы."); // поставим на паузу - после нажатия снятия с кнопки выполнится hook_unpause.php app.pause(0); // 2 шаг echo("2. Получим результат работы хука (hook_unpause.php) : <br><br>"); if (file_os.is_exist("hook/hook_unpause.js.res")) echo((textfile.read_file("hook/hook_unpause.js.res"))+"<br>"); // сообщение debug.message_box("Для запуска хука останова, нажмите кнопку остановить скрипт."); // боьшая пауза browser.sleep(5000); // конец echo("<hr><br>"); // Quit app.quit();