У меня есть приложение Windows для рабочего стола в c # (WPF), которое в основном является приложением для управления проблемами в колл-центре.Он управляет (добавляет, редактирует, удаляет, ...) проблемами клиентов (записи в базе данных), где каждая проблема имеет многочисленные поля (текстовые поля, текстовые области, флажки, ...). При создании проблемы пользователь часто копирует / вставляетданные из других ресурсов для этого и других приложений (Excel, блокнот, браузер ...), а также буфер обмена Windows, полный ценных данных.
Проблема, которую я не знаю, как решить: пользовательвыбирает произвольный текст в любом текстовом поле (например, в текстовом поле) в этой программе и копирует данные.но эти данные нельзя скопировать в классический буфер обмена Windows
Clipboard.SetText(Textbox1.Text);
, потому что в буфере обмена уже есть ценные данные, которые нельзя потерять.Поэтому я хотел бы создать второй буфер обмена, который прослушивает все вводимые с клавиатуры данные.И всякий раз, когда нажимается определенная комбинация клавиш, он считывает выделенный текст (необходим только текст) из любого приложения (блокнот, Excel, моя программа, ...).Точно так же с другой комбинацией клавиш он вставляет скопированный текст в любое приложение (блокнот, Excel, ..)
В Windows уже есть эта функциональность с сочетаниями клавиш CTRL + C и CTRL + V, которые работают в любом приложении, котороене отменяет эти ярлыки.Я хотел бы то же самое для моего пользовательского приложения / службы буфера обмена, с различными ярлыками.Но я не знаю, как получить и вставить данные в любое текстовое поле в любом приложении Windows.Короче говоря, мне нужно что-то вроде:
string clipboardData;
public void OnSpecialCopyShortcutPressed() {
clipboardData = SelectedTextAnywhereInWindowsOrAnyWindowsApp.Text;
}
public void OnSpecialPasteShortcutPressed() {
focusedTextFieldAnywhereInWindowsOrAnyWindowsApp.Text = clipboardData;
}
По сути, я хотел бы иметь два буфера обмена Windows.
Любые указатели были бы хорошими.Спасибо.
--- edit ---
нашел решение для подключения к нажатым клавишам глобальная клавиатура хук Все еще ищем способ "перехватить"вверх "к активным приложениям и выбранному тексту для копирования и выделенным элементам управления для вставки скопированного текста.