Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 1667 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.

  • Administradores
Postado

Bom dia.

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

Att.

Consultora SAC ACBr

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
  • Administradores
Postado

Obrigado por reportar.

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

Consultora SAC ACBr

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á 1667 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.