Программное обеспечение для удаленного управления персональным компьютером IBM PC, оснащенным операционной системой Windows 9X/NT/2000, страница 2

Функция  AnsiString __fastcall Conver_IntTo_Keyboard_Key_Rus(int VirtualKey) конвертирует вируальный  код клавиши  полученный из библиотеки в символ русского алфавита верхнего или нижнего регистра, в зависимости от состояния клавиши CAPSLOCK. 

Функция  AnsiString __fastcallConver_IntTo_Keyboard_Key(intVirtualKey) конвертирует вируальный  код клавиши  полученный из библиотеки в символ расширенной и цифровой раскладки клавиатуры.

Функция  bool __fastcall  Write_To_StringGrid (AnsiString FilePatch)  располагается на сервере.

bool __fastcall  Write_To_StringGrid (AnsiString FilePatch) выполняет следующий действия:

  1. Дешифрация строк из файла переданного по сети и определение причины перехода строки для занесения в соответствующую колонку таблицы нужного комментария, занесение всех строк символов в таблицу.
  2.  Формирование шапки таблицы (номер строки, причина перехода, поле последовательно набранных символов). Формирование итоговой части таблицы в которой содержится конечное число записей.   

Функция bool __fastcallKeyboard_Mouse_Access_Lock(boolAcess_Keyboard, boolAcess_Mouse позволяет отключать и включать клавиатуру и манипулятор мышь в системе. Работа этой функции основана на использовании текстового файла в качестве флага, позволяющего проходить или не проходить сообщениям, от устройств ввода, в систему. Вызов происходит с параметрами Acess_Keyboard  и Acess_Mouse = true/false. Где true – разрешение доступа, false – запрещение доступа.

Функция тика системного таймера void __fastcallTimer1Timer(TObject *Sender)  необходима для корректной работы программы в случае отсутствия  сообщений от клавиатуры и манипулятора мышь, что может означать, что конкретная  рабочая станция пустует.

void __fastcall Timer1Timer(TObject *Sender) выполняет следующие действия:

1.  Проверяет не истекло ли время в течении которого отсутствие сообщений от клавиатуры и мышки разрешено.

2.  В случае выполнения этого условия функция посылает обработчику сообщение, которое эмулирует нажатие клавиши Enter с соответствующим префиксом причины – истечение времени. После чего промежуточный буфер в котором храниться незаконченная строка записывается в соответствующую строку таблицы. Затем обработчику посылается специальное сообщение, позволяющее организовать вывод сообщения – комментария в нужной части таблицы.

3.  Обновление текущего времени активности клавиатуры и мышки.

Функция  int __fastcallStringTimeToInt(AnsiStringTime) используется для преобразования текущего системного времени в значение целого числа. Применяется при выполнении арифметических операций над временем.     

При создании формы обработчика должна выполниться функция Keyboard_Mouse_Access_Lock(true, true),  для разрешения использования клавиатуры и манипулятора мышь.  

В качестве таблицы используется компонент из визуальной библиотеки компонентов – StringGrid.

Модуль URL

Задачей программного модуля URL является сбор всех адресов Internet страничек, которые были просмотрены IE со времени запуска программы. Адреса Internet накапливаются в структуре HeapURL.  В этой структуре имеется поле для  URL и время фиксации его фиксации.

Основная функция получения URL - bool GetHeapURL(UINT nCmd, int sizeURL,int iParam) содержит три параметра:

·  NCmd – идентификатор команды. GW_ALLSIZE – Возвращает текст из EditBox  броузера полной длинны. Ограничение на длину накладывается размером буфера в структуре хранения URL, справа ограничено символом пробел. GW_LENGHT -  Возвращает текст из EditBox  броузера длиныsizeURL или меньше. Ограничение на длину накладывается размером буфера в структуре хранения URL.  GW_SIZE – Возвращает текст из EditBox броузера  длинны ограниченной символом ‘/’, что характерно для URL адреса. GW_CLEAR – очищает массив списка для создания нового списка (журнала). Параметр iParam =1 возвращает текст в верхнем регистре, iParam =0  возвращает текст в нижнем регистре. Возможно динамическое изменение параметров запроса при получении URL.

·  Функция осуществляет поиск окна ввода URL,  начиная с основного окна windows. Перелистываются все подчиненные окна первой ступени, в которых по известному иерархическому расположению находится искомый элемент окна. После чего, найденному элементу окна посылается сообщение с запросом содержимого его текста.

·  Происходит синтаксический разбор текста совместно с запросами команд, которые      регулируют  результат выполнения функции.