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

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 = getenv("RPABOT_HOST_URL");
    // 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();
    ?>
    #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();            
    	  }
    }

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