Как на c# (или на др. языке) отлавливать комбинацию клавиш и работать с файлом?

Рейтинг: 0Ответов: 2Опубликовано: 19.03.2015

Добрый день.

Хочу сделать следующее:
Выделяю слово в браузере/ворде... (например, на английском/немецком) и жму определённую комбинацию клавиш, например: ctrl+1 - выделенный фрагмент должен записаться в значение[слово]

Потом выделяю другое слово и жму ctrl+2 - выделенный фрагмент должен записаться в значение[перевод]

Это хочется делать быстро, чтоб выделил слово и нажал комб клав, затем перевод и в итоге занести в текстовый файл что-то типа

cat -tab- кошка
dog -tab- собака
....

Ну как-то так. Как использовать windows api, т.к. приложение лучше чтоб было в трее, но отслеживало данную комбинацию клавиш.

Как такое или подобное реализовать?

Спасибо.

Ответы

▲ 2Принят

По быстрому написал тут на Builde're подобие твоей программы!

Алгоритм такой: выделяешь "слово", жмешь Ctrl+C, затем Ctrl+1, "слово" попадает в поле слово, далее выделяешь "перевод", жмешь Ctrl+C, затем Ctrl+2, "перевод" попадает в поле перевод и автоматически добавляется в текстовое поле ниже, между "словом" и "переводом" ставится табуляция и происходит автосохранение в файл "translate.txt" в той же папке, где exe'шник программы.

Вот прога v1.1 & исходник
Изменения:

  1. [+] Легкое Изменение интерфейса.
  2. [+] Добавлено сворачивание в трей.
  3. [+] Не нужно нажимать Ctrl+C срабатывает при Ctrl+1 > слово и Ctrl+2 > перевод.
  4. [+] При автосохранение воспроизводит звук Beep(), удобно когда прога в треи.

alt text

▲ 1

На вскидку сказать точно не могу, но с выделенным текстом работает объект Clipboard (c#). Нажатия клавиш ловятся событиями, например, Key_Pressed, где в параметрам уже указаны, какие клавиши были нажаты, и далее, используя объект Keys, можно их сравнивать и т.д. Чтобы приложение отправить в трей, можно использовать компонент (примерное название) notifyIcon (пример: http://www.cyberforum.ru/csharp-beginners/thread434709.html). Надеюсь, что помог. С уважением.