humanemulator.net — справка. Продукт, демо и покупка — на хуманэмулятор.рф | Демо | Купить | API | лог изменений

press_key_by_code

press_key_by_code($code,$ctrl=false,$alt=false,$shift=false); - Нажатие клавиши по коду (альтернативный вариант для Citrix). Полная эмуляция

Функция на вход принимает параметры:

  • $code – Alt-код символа клавиатуры
  • $ctrl – одновременно нажать клавишу CTRL
  • $alt – одновременно нажать клавишу ALT
  • $shift – одновременно нажать клавишу SHIFT

    После выполнения функции возвращаемое значение будет равно одному из двух :
  • true – успешно
  • false – не удалось

    Пример использования
    <?php
    // Scenario: Demonstrates how to press keys by their key codes
    
    $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";
    
    // Example 1: Launch Notepad and press keys by their codes
    echo "\n\n";
    
    // Set variables for launching Notepad
    $operation = "run";
    $notepadPath = "C:/windows/notepad.exe";
    
    // Launch Notepad
    echo "1. Launch Notepad: ";
    $result = WINDOW::$app->shell_execute($operation, $notepadPath);
    if ($result) {
        echo "Notepad launched successfully\n";
    } else {
        echo "Failed to launch Notepad\n";
    }
    
    // Set variables for getting Notepad window
    $windowClass = "Notepad";
    $exactMatch = false;
    $visibleOnly = true;
    $activeOnly = true;
    
    // Get Notepad window
    $notebook = WINDOW::$window->get_by_class($windowClass, $exactMatch, $visibleOnly, $activeOnly);
    $notebook->foreground();
    $notebook->focus();
    sleep(2);
    
    // Example 2: Press Print key by its code
    echo "\n";
    
    // Set variables for pressing Print key
    $keyCode = "80";
    $isAltKey = false;
    $isCtrl = false;
    $isAlt = true;
    
    // Press Print key by its code
    echo "2. Press Print key by code '$keyCode': ";
    $result = SYSTEM::$keyboard->press_key_by_code($keyCode, $isAltKey, $isCtrl, $isAlt);
    if ($result) {
        echo "Print key pressed successfully\n";
    } else {
        echo "Failed to press Print key\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.press_key_by_code</font><hr>")
    
    # 1 шаг
    echo("1. Вызовем метод press_key_by_code : ");
    result = keyboard.press_key_by_code("code", False, False, False)
    echo(result);
    
    # конец
    echo("<hr><br>")
    
    # уведомляем среду что скрипт закончил работать
    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="127.0.0.1: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("<hr><br>");
    
    			app.quit();            
    	  }
    }
    // подключим функциональные объекты, если еще не подключен
    xhe_host="127.0.0.1:7010";
    echo=require("../../../Templates JS/init.js");
    
    // начало
    echo("<hr><font color=blue>keyboard.press_key_by_code</font><hr>");
    
    // 1 шаг
    echo("1. Вызовем метод press_key_by_code : \n");
    var result = keyboard.press_key_by_code("code", false, false, false);
    echo(result+"\n");
    
    // конец
    echo("\n");
    
    // уведомляем среду что скрипт закончил работать
    app.quit();

    =============================================
    keyboard    Объекты    DOM  System  Vision  Web  Window        
    =============================================
    если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум
    .