Программа состоит из нескольких составляющих
а) Служба sus_loader
а.1) Импортировать в реестр файл sus_loder.reg
а.2) Изменить параметр ImagePath (указать путь до sus_loder.exe)
а.3) Выполнить перезагрузку
а.4) Запустить службу Sus. При этом создается файл настройки сервиса в директории
C:\ProgramData\sus_loader
а.5) в директории запуска sus_loader должен находиться бинарник quser.exe (через нее определяется ID активной сессии)
б) Консольные программы ClipboardAsync.exe (сохраняет содержимое буфера при запуске)
и EXEC.exe (выполняет чтение команд из базы данных rulelog.db, путь к базе данных получает из константы базы данных TAG.db, путь к TAG.db берет из реестра, описание ниже).
б.1) текущая версия sus_loader имеет ошибку и требует, чтобы в путях вызываемых программ не содержалось пробелов.
б.2) При первом запуске ClipboardAsync.exe будет создана директория, для сохранения файлов из буфера обмена.
в) Оконное приложение Clipviewer.exe (Сворачивается в системный лоток).
Слушает системные вызовы и перехватывает событие изменение буфера обмена картинок и текста ОС windows. Вызывает службу sus_loader.exe.
в.1) При первом запуске предложит указать пути для новых баз данных. Создает базы данных типа TAG.db (хранит константы) и RULELOG.db (из таблицы EXEC данной базы данных программа EXEC.exe читает команды запуска), пути указываются полностью с названием новых баз.
в.2) Создает файл PARAMS.INI для программы Clipviewer.exe в каталоге ProgramData
в.3) При первом закрытии программа обновит файл и добавит необходимые константы.
Файл params.ini обновляется текущими параметрами при закрытии формы, при открытии программы происходит инициализация последних сохраненных параметров. По кнопке Update - лог перечитывается.
в.3) Для очистки лога необходимо воспользоваться кнопкой clear. Будет создан новый файл и в него сохранится выделение лога.
в.4) Примерный текст параметров выглядит следующим образом (начало строки должно содержать имя параметра=<Значение параметра>)
ClipboardDir=c:\Users\All Users\ClypboardAsync\
PathRuleLOG=d:\USR\RULELOG_new2.db
CompareTextCommand=/C ""c:\totalcmd\totalcmd.exe" /S=C "%1" "%2""
CompareFilesComand=kdiff3.exe "%1" "%2" "%3"
CompareFilesComandWorkPath=c:\Program Files\KDiff3\
ClipDirCount=10
в.5) При первом запуске должны были быть созданы базы данных типа Rulelog.db и TAG.db,
однако в константы TAG.db не было записано значение константы PathRuleLOG (параметр был пуст).
Поэтому необходимо создать новую базу данных типа TAG.db по кнопке "new".
Сначала необходимо согласиться с диалогом об очистке текущей сохраненной базы RULELOG.db
(Можно создать новую базу, предварительно изменив параметр в тексте и сохранив его в PARAMS.INI по кнопке Clear)
Далее необходимо указать путь к новой базе типа TAG (Значения необходимых констант будет установлено в соответствии Params.INI)
При удалении связанных баз и перезапуске программы Clipviewer.exe, базы, по сохраненным путям в логе Params.INI - будут созданы заново. Путь до базы типа TAG.db хранится в реестре.
Компьютер\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_TAG\PathTagDirTMP
в.5) функция обновления лога буфера обмена
в.6) функция просмотра лога в виде html. Подготавливает текст HTML заменяет #IMG# по тексту на ТЭГ <img source=buffer.png>
в.7) Функция сравнения текста лога буфера.
При двойном клике на "номере" лога буфера значение будет установлено в соответствующее поле ввода.
При нажатии на кнопку "cmp" будет выполнена команда сравнения.
При нажатии на вторую кнопку "cmp" будет выполнена альтернативная команда сравнения.
в.8) Функция поиска по тексту (на форме объект типа Scentilla, поиск и замена полностью наследуется из библиотеки Scentilla, выбранная версия библиотеки полностью вшита в пространство имен основного приложения)
Приложение написано на .Net 2.0, вшиты свободно распространяемые компоненты)
P.S. получили обновления следующие мои разработки
//infostart.ru/public/2030230/ Windows приложение для быстрого выполнения бэкапов через ms sql и создание баз через RAS сервер 1С (добавлено сохранение паролей в шифрованном виде в файл настроек, шифрование RSA)
//infostart.ru/public/1964665/ Windows приложение для управления контентом + модуль обмена с интеграционной базой (Добавлено сохранение картинок из буфера обмена, доработано отображение GIF в HTML-форме, модуль обмена: добавлено сохранение паролей в шифрованном виде в файл настроек, шифрование RSA)
//infostart.ru/public/1933675/ Подсистема управления контентом + автономное мобильное приложение (исправлены ошибки, добавлена поддержка HTTPS для мобильного)
РАЗВИТИЕ. В дальнейшем планирую связать данную разработку с базой Тэгов,
будет добавлена функция создания тэгов и контента по выбранной вставке буфера.
И кнопка открытия базы данных Тэгов в приложении TagReader(//infostart.ru/public/1964665/) со значениями текущих параметров приложения clipviewer.exe.
upd 11/03/2024
1) Добавлен выбор базы данных типа TAG.db
2) Добавлена кнопка "Add content" (в проект добавлены классы TAG, Content, InnerProject)
взяты из текущей версии публикации TagReader.
По кнопке, сохраненное во временную директорию содержимое,
будет добавлено в выбранную базу данных будет добавлен контент с текстовым содержимым,
или контент с ссылкой на временный каталог в качестве source
3) Добавлена кнопка открытия базы из параметра реестра
в параметры программы добавлена чтение/запись параметра "TagReaderPath="
При нажатии на кнопку будет открыта база, сохраненная в реестр по пути
Компьютер\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_TAG\PathTagDirTMP
4) Демонстрация связки с TagReader.exe