1

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

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

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


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

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

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

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

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


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

1 ответ1

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++
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .