LOGAR NO TOTVS RM

GUILHERMEMFA 17/01/2017 14:09:41
#470777
Boa tarde Pessoal!

Estou desenvolvendo uma aplicação que trabalha integrada como o TOTVS RM e gostaria que minha aplicação utilizasse os mesmos usuários e senhas desse sistema. Porém, a senha é criptografada e acredito que não tenha como resolver isso.

Vi nesse fórum que algumas pessoas utilizaram uma DLL que consegue autenticar os dados que você digitar em aplicativos de terceiros. Só que o código está em C#
Alguém saberia passar para VB6?
Segue abaixo o link para o fórum e a solução encontrada (citada)

http://www.forumrm.com.br/topic/5383-senha-de-usuario-resolvido/

Citação:

Se vc estiver querendo autenticar algum aplicativo de terceiro, tente estudar/usar a DLL CPConnect dentro da pasta: C:\CorporeRM\API

Usando essa dll vc consegue autenticar um aplicativo feito por você.

Coloquei um exemplo. ele tá meio bagunçado mais dá pra entender.

1. Adicione a referencia para CPconnect.dll

using System;
using System.Windows.Forms;
using CPConnect;

namespace AuthCorporeRM
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
LoginClass login = new LoginClass();
object a,b,c;
b = login.ErrorCode;
c = login.ErrorMessage;
a = null;
login.GetAccessParams(false, [Ô]CorporeRM[Ô], [Ô]jmoura[Ô], [Ô]34de4[Ô], [Ô]F[Ô],ref a, ref b, ref c);

//O código [ô]0[ô] indica que a conexão foi efetuada com sucesso.

MessageBox.Show(b.ToString());
if (b != (object)0 )
MessageBox.Show(c.ToString());


}
}
}


JOAOBENEVIDES 17/01/2017 15:39:00
#470778
voce esta desenvolvendo em que liguafuem
GUILHERMEMFA 17/01/2017 15:45:10
#470779
Preciso passar isso para VB6
DS2T 17/01/2017 17:55:34
#470786
Resposta escolhida
LoginClass login = new LoginClass();
object a,b,c;
b = login.ErrorCode;
c = login.ErrorMessage;
a = null;
login.GetAccessParams(false, [Ô]CorporeRM[Ô], [Ô]jmoura[Ô], [Ô]34de4[Ô], [Ô]F[Ô],ref a, ref b, ref c);


Mil anos que não mexo no VB6, vamos ver se ainda dou conta.

 Dim login As Object
SET login = CreateObject([Ô]CPConnect.LoginClass[Ô])
Dim a, b, c AS Variant
b = login.ErrorCode
c = login.ErrorMessage
a = Nothing

Call login.GetAccessParams(false, [Ô]CorporeRM[Ô], [Ô]jmoura[Ô], [Ô]34de4[Ô], [Ô]F[Ô], a, b, c);


Mas você precisa saber se essa DLL é COM... caso contrário, não vai rolar...
Caso essa dll tenha sido feita em .NET, você pode usar o utilitário regasm do Visual Studio Command pra criar um registro válido pra ela e usar o código.

Abraços!
KERPLUNK 17/01/2017 23:09:44
#470792
Como o DS2T já disse, se a DLL não for COM, você não vai conseguir fazer da forma correta. Quem sabe não seja essa uma oportunidade para iniciar a converter seus projetos para .NET?
GUILHERMEMFA 18/01/2017 09:45:23
#470801
Citação:

:
Como o DS2T já disse, se a DLL não for COM, você não vai conseguir fazer da forma correta. Quem sabe não seja essa uma oportunidade para iniciar a converter seus projetos para .NET?



Boa dica.
Valeu pessoal
Tópico encerrado , respostas não são mais permitidas