Como fornecer e passar informações entre programas separados?

Como fornecer e passar informações entre programas separados?

Existem tantos programas úteis e individuais por aí cujo código-fonte não está disponível, alguns dos quais se integrariam perfeitamente uns com os outros!O único problema é que não sei como permitir que diferentes programas interajam entre si no Windows 7.

Eu conheço C++/C#/XAML; entender como usar a linha de comando para passar argumentos de inicialização para programas e como criar arquivos em lote... Mas como você controla programas de forma não manual quando eles estão em execução?

Também sei como processar entradas do Windows, como movimentos ou cliques do mouse, mas isso só permite a interação direta com o sistema operacional, e não com programas específicos que estão abertos no momento.
Quero poder passar informações para programas individuais enquanto faço outras coisas.


Aqui está um exemplo de problema que estou tentando resolver:

Eu tenho um programa que chamo de "Extrator de membros"que extrai as informações de contato dos membros do meu site; embora o programa só possa ser controlado através de sua GUI; e ainda não tenha a capacidade de exportar os dados. (portanto, cada informação como e-mail, número de telefone, etc. deve ser copiado para a área de transferência, um por um, e colado em um novo "Microsoft Excel"documento).

Depois que as informações forem copiadas e salvas de forma organizada, preciso importar esses dados 1 por 1 para vários novos "Perfis de contato"gerado pelo"Gerenciador de contatos universais"extensão do "Navegador Google Chrome"

  • Tudo isso precisa ser feito automaticamente por algum tipo de script que possa ser executado em segundo plano enquanto estou trabalhando em outras coisas.*

Como pode ser feito??


Algo que imagino que preciso são várias pranchetas virtuais... mas o que mais?

Responder1

Se você puder fazer isso manualmente, poderá automatizá-lo facilmente usando um software de macro. Minha arma preferida éAutoHotkey, especificamenteAutoHotkey_L.

Documentação

Com base no seu exemplo, o seguinte será útil:

Por exemplo, a lógica do seu script pode ser assim*:
*Pode haver pequenos erros, mas você entendeu!

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

informação relacionada