Ir para conteúdo
  • Cadastre-se

  • Este tópico foi criado há 2243 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Estou implementado uma funcionalidade para o sistema acessar automaticamente o site através do Certificado Digital, então preciso selecionar um certificado para realizar o acesso.

Gostaria de saber se já tem alguma funcionalidade que lê a tela que abre listando os Certificados "Segurança do Windows Selecionar um Certificado". Que me permite localizar o que quero pelo CNPJ ou Nome, selecionar ele e confirmar.

selecionar certififcado.png

Postado

Não. Eu desenvolvo em Delphi e C++ no RadStudio. Estou a procura de uma biblioteca que faça esta parte (Selecionar o Certificado). 

Eu consigo acessar o site pelo IE no fonte, ler a página, clicar nós link ou botões, mas agora estou precisando selecionar o Certificado quando abre esta tela.

  • Consultores
Postado

Bom dia.

Você conseguiu encontrar uma solução para sua necessidade? Se sim seria interessante compartilhar com a comunidade.

Att.

Consultora ACBr Pro

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Solution
Postado

SOLUÇÃO: Os certificados são sempre apresentados em ordem de vencimento do maior para o menor. Eu consigo ler quais os certificados estão instalados na máquina usando TElWinCertStorage. Então eu os ordeno da mesma forma e localizo a posição dele. Então quando abre a tela para selecionar, eu clico no certificado certo usando os comandos do teclado.

 

void __fastcall TfrmNavegador::TimerSelecionarCertificadoTimer(TObject *Sender)
 {
  TimerSelecionarCertificado->Enabled = false;

    Application->ProcessMessages();
    Sleep(1000);
    if(!FindWindowW(NULL, String("Segurança do Windows").c_str()))
     {
      TimerSelecionarCertificado->Enabled = true;
      return;
     }

    setLog("Selecionando certificado.");
    WebBrowser1->Silent = true;
    Application->ProcessMessages();
    Sleep(1000);
    for(int i = 0; i < getPosicaoCertificado(); i++)
     {
      keybd_event(VK_DOWN, 0, 0, 0);
      keybd_event(VK_DOWN, 0, KEYEVENTF_KEYUP, 0);
      Sleep(100);
     }
    keybd_event(VK_RETURN, 0, 0, 0);
    keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0);
 }

  • Curtir 1
  • Consultores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

Consultora ACBr Pro

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Este tópico foi criado há 2243 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...