Как передать и передать данные между отдельными программами?

1

Существует так много индивидуальных, полезных программ, исходный код которых недоступен, некоторые из которых прекрасно интегрируются друг с другом! Единственная проблема в том, что я не знаю, как разрешить различным программам взаимодействовать друг с другом в Windows 7.

Я знаю C ++ / C # / XAML; понять, как использовать командную строку для передачи параметров запуска программам и как создавать пакетные файлы ... Но как вы не можете вручную управлять программами после их запуска?

Я также знаю, как обрабатывать ввод Windows, например, движения мыши или щелчки, но это позволяет только прямое взаимодействие с операционной системой, а не с конкретными программами, которые открыты в данный момент.
Я хочу иметь возможность передавать входные данные отдельным программам, занимаясь другими делами.


Вот пример проблемы, которую я пытаюсь решить:

У меня есть программа, которую я называю Член Extractor «Это извлекает мой   контактная информация участника сайта; хотя программа может быть только   контролируется через графический интерфейс; и не имеет возможности экспортировать   данных пока нет. (так что каждый кусок информации, такой как электронная почта, номер телефона и т. д.   должен быть скопирован в буфер обмена 1 на 1 и вставлен в новый "Майкрософт Эксель" документ).

После того, как информация скопирована и сохранена в организованном порядке, мне нужно   импортировать эти данные 1 на 1 для нескольких новых Профили контактов "   генерируется Универсальный менеджер контактов "расширение "Google Chrome Web Browser"

  • Все это должно быть сделано автоматически с помощью какого-то скрипта, который может работать в фоновом режиме, пока я работаю над другими вещами. *

Как это можно сделать ??


Что-то, что я думаю, мне нужно, это несколько виртуальных буферов обмена ... но что еще?

Griffin
источник

Ответы:

2

Если вы можете сделать это вручную, вы можете легко автоматизировать его с помощью макропрограммы. Мое оружие выбора AutoHotkey конкретно AutoHotkey_L ,

Документация

Исходя из вашего примера, будет полезно следующее:

Например, логика вашего скрипта может выглядеть так *:
* Могут быть незначительные ошибки, но вы получите суть!

;Note: find Control and Window names using AutoIt3 Window Spy

Name := []
Email := []
;etc...

members = 100

while (members > 0)
{
    Clipboard = 
    ControlSend, MemberExtrControl, ^a^c, MemberExtrWindow
    ClipWait
    Name.Insert(Clipboard)

    Clipboard = 
    ControlSend, MemberExtrControl, Tab^a^c, MemberExtrWindow
    Clipwait
    Email.Insert(Clipboard)

    ;etc...

    members--   
}

index = 1

Loop % Names.MaxIndex()
{
    name := Name.Remove(index)
    email := Email.Remove(index)
    ;etc...

    ControlSend, ContactMgrControl, %name%, ContactMgrWindow
    ControlSend, ContactMgrControl, Tab%email%, ContactMgrWindow

    ;etc...

    index++
}
iglvzx
источник
1
Обязательно взглянем на это! Сначала я должен изучить синтаксис скрипта = | Спасибо!
Griffin
Хорошо, теперь, когда я экспериментировал и провел некоторое исследование; Что заставляет вас выбирать AHK по сравнению с другими инструментами автоматизации, такими как AutoIt? У меня также есть опыт работы с C ++, я планирую изучать Python и буду наслаждаться скриптами, не зависящими от ОС, чтобы я мог поделиться ими с другими. Рассмотрим этот пост: stackoverflow.com/questions/294285/...
Griffin
Честно говоря, я не пробовал AutoIt. Я выучил AHK много лет назад и увлекся этим.
iglvzx