key (бывшая press_key_by_code до версии 4.9.21)
key($code); - данная функция используется для полной эмуляции нажатия и отжатия клавиши на клавиатуреФункция на вход принимает параметры:
Если во время работы этой функции нажать Ctrl (или эмулировать нажатие через комманды set_ctrl_prefix) то посланная строка будет интерпритироваться как набор горячих клавиш для хумана.
После отработки функция возвращает результат своей работы в скрипт :
<?php // Scenario: Demonstrates how to emulate key presses including special keys and key combinations $xhe_host = "localhost:7010"; // Connect functional objects if not already connected if (!isset($path)){ $path="../../../Templates/init.php"; require($path); } // info echo "\n<span >keyboard->" . basename (__FILE__) . "</span>\n"; // Open Notepad application for key input demonstration $windowClass = "Notepad"; $exactMatch = false; $visibleOnly = true; $activeOnly = true; // Get Notepad window echo "Get Notepad window: "; $notebook = WINDOW::$window->get_by_class($windowClass, $exactMatch, $visibleOnly, $activeOnly); if ($notebook->inner_number == -1) { echo "Notepad application needs to be launched\n"; // Set variables for launching Notepad $operation = "open"; $notepadPath = "C:/Windows/system32/notepad.exe"; // Launch Notepad echo "Launch Notepad application: "; WINDOW::$app->shell_execute($operation, $notepadPath); sleep(5); // Get Notepad window again $notebook = WINDOW::$window->get_by_class($windowClass, $exactMatch, $visibleOnly, $activeOnly); } // Bring Notepad to foreground and set focus $notebook->foreground(); $notebook->focus(); echo("\n"); // Example 1: Emulate space key press by Alt code $keyCode = VK_SPACE; $isAltKey = true; // Emulate space key press by Alt code echo "1. Emulate space key press by Alt code: "; $result = SYSTEM::$keyboard->key($keyCode, $isAltKey); if ($result) { echo "Space key pressed successfully\n"; } else { echo "Failed to press space key\n"; } echo("\n"); // Example 2: Emulate space key press directly $keyChar = ' '; $isAltKey = false; // Emulate space key press directly echo "3. Emulate space key press directly: "; $result = SYSTEM::$keyboard->key($keyChar, $isAltKey); if ($result) { echo "Space key pressed successfully\n"; } else { echo "Failed to press space key\n"; } echo("\n"); // Example 3: Set keyboard language to English $language = 'en'; // Set keyboard language to English echo "3. Set keyboard language to '$language': "; $result = SYSTEM::$keyboard->set_current_language($language); if ($result) { echo "Language set successfully\n"; } else { echo "Failed to set language\n"; } echo("\n"); // Example 4: Emulate 'a' key press $keyChar = "a"; $isAltKey = false; // Emulate 'a' key press echo "4. Emulate '$keyChar' key press: "; $result = SYSTEM::$keyboard->key($keyChar, $isAltKey); if ($result) { echo "Key pressed successfully\n"; } else { echo "Failed to press key\n"; } echo("\n"); // Example 5: Emulate 'b' key down/up sequence $keyChar = "b"; $isAltKey = false; // Emulate 'b' key down/up sequence echo "5. Emulate '$keyChar' key down/up sequence: "; $result1 = SYSTEM::$keyboard->key_down($keyChar, $isAltKey); $result2 = SYSTEM::$keyboard->key_up($keyChar, $isAltKey); if ($result1 && $result2) { echo "Key sequence successful\n"; } else { echo "Failed to complete key sequence\n"; } echo("\n"); // Example 6: Emulate Enter key press by Alt code (carriage return) $keyCode = VK_ENTER; $isAltKey = true; // Emulate Enter key press by Alt code echo "6. Emulate Enter key press by Alt code: "; $result = SYSTEM::$keyboard->key($keyCode, $isAltKey); if ($result) { echo "Enter key pressed successfully\n"; } else { echo "Failed to press Enter key\n"; } // Set keyboard language to Russian to input multiple Cyrillic characters $language = 'ru'; // Set keyboard language to Russian echo "Set keyboard language to '$language': "; $result = SYSTEM::$keyboard->set_current_language($language); if ($result) { echo "Language set successfully\n"; } else { echo "Failed to set language\n"; } echo("\n"); // Example 7: Input multiple Cyrillic characters $text = "Буквы и цифры 1"; $delay = "20:40"; // Input multiple Cyrillic characters echo "7. Input multiple Cyrillic characters: "; $result = SYSTEM::$keyboard->input($text, $delay); if ($result) { echo "Text input successful\n"; } else { echo "Failed to input text\n"; } // Quit the application WINDOW::$app->quit(); ?>
# Additional paths import sys sys.path.insert(0, '../../../Templates PY/') xhe_host = "127.0.0.1:7010" from xweb_human_emulator import * # начало echo("<hr><font color=blue>keyboard.xxxxxxxxx</font><hr>") # 1 echo("1. Перейдем на яндекс : ") echo(browser.navigate("http://ya.ru"),"<br>") # 2 echo("2. Зададим фокус на строку поиска : ") echo(input.set_focus_by_number(0),"<br>") # 3 echo("3. Сменим язык на английский : ") echo(keyboard.set_current_language("en"),"<br>") # 4 echo("4. Нажмем клавишу s (код 83) : ") echo(keyboard.key(83)) # конец echo("<hr><br>") # Quit app.quit()
#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 = "localhost:7010"; InitXHE(); // начало echo("<hr><font color=blue>keyboard.key</font><hr>"); // 1 шаг echo("1. Перейдем на яндекс : "); echo(browser.navigate("http://ya.ru")+"<br>"); // 2 шаг echo("2. Зададим фокус на строку поиска : "); echo(input.set_focus_by_number(0)+"<br>"); // 3 шаг echo("3. Нажмем клавишу s (код 83) : "); keyboard.set_current_language("en"); echo(keyboard.key(83)); // конец echo("\n\n"); app.quit(); } }
// подключим функциональные объекты, если еще не подключен xhe_host="127.0.0.1:7010"; echo=require("../../../Templates JS/init.js"); // начало echo("<hr><font color=blue>keyboard.key</font><hr>"); // 1 шаг echo("1. Перейдем на яндекс : "); echo(browser.navigate("http://ya.ru")+"<br>"); // 2 шаг echo("2. Зададим фокус на строку поиска : "); echo(input.set_focus_by_number(0)+"<br>"); // 3 шаг echo("3. Сменим язык на английский : "); echo(keyboard.set_current_language("en")+"<br>"); // 4 шаг echo("4. Нажмем клавишу s (код 83) : "); echo(keyboard.key(83)); // конец echo("\n"); // Quit app.quit();
=============================================
Keyboard Объекты DOM System Vision Web Window
=============================================
если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум
.