• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

jorruivo

[vb6] mexer num programa

6 mensagens neste tópico

existe alguma maneira que o programa que estamos a fazer mexa noutro programa, um programa qualquer que nao foi feito por nos...tipo abrir um ficheiro, copiar o contecudo e colar no nosso programa..mas abrir e copiar tem que ser mesmo no outro programa porque o abre de uma maneira especial...existe alguma maneira..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se te estou a perceber, o que tu queres fazer é:

Tens um programa qualquer no teu pc, e esse programa tem p exemplo uma TextBox que tem um conteudo que te interessa, e, o teu objectivo é fazer um programa que conssiga esse valor dessa TextBox. Certo?

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

certo..é isso, mas para copiar nao pode ser so um copy..tem q ser copy as hex string..o programa tem essa opção..e depois noutra altura queria colar e gravar, com a opçao past as hex strinfg..porque o copy e past normal nao servem para oque quero..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

hhhhhmmmmm. Não sei o que é issu de "copy as hex string" :thumbsup:

Mas para ires buscar a conteudo de uma textbox ou de outra coisa desse tipo penso que tens de primeiro de tudo ter o handle dessa janela, depois o resto não sei  :-[

Já vi qualquer coisa do tipo ai pelo forum, mas axu que nao era nada de muito especifico, de qualquer forma, pode ser que alguem saiba e te possa ajufar  :P

EDIT1: Andei a procurar e encontrei istu. O maximo que conssegui ainda fazer, foi ver o numero de caracteres que a textbox da outra aplicação tem. O texto ainda não  :wallbash:

EDIT2: Já conssegui :thumbsup: . Se precisares de ajuda diz :thumbsup:

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim...se puderes explica aí como se faz..agradecia muito dava-me muito jeito..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Entao é assim...

Primeiro tens de encontrar o Handle da aplicação que queres retirar a informação. Podes fazer de duas formas(que eu conheça):

primeira:

lHwnd = FindWindow(vbNullString, cWINDOW_TITLE)

Onde lHwnd é a variavel As Long, onde é guardado o  Handle da aplicação. cWINDOW_TITLE é uma constante com o titulo da janela da aplicação.

segunda

Depois Tens de encontrar o Handle da textbox:

hTextBox = FindWindowEx(lHwnd, 0, vbNullString, vbNullString)

Onde hTextBox é a variavel onde o Handle da texbox sera guardado e lHwnd é o handle da janela da aplicação.

Depois Vai-se buscar o texto da texbox

VarText = Space(10)
TextLen = SendMessage(hTextBox, WM_GETTEXT, Len(VarText), ByVal VarText)

MsgBox Right(VarText, TextLen)

Onde VarText sera a variavel onde se ra guardada a informação da textbox, TextLen é o numero de caracteres que a textbox contem, WM_GETTEXT é como se fosse uma Flag, ou seja, atravez desta constante defines o que queres fazer, neste caso é copiar a informação da textbox.

Len(VarText) é o numero de caracteres que a função devera retornar.

Istu funciona, mas se por exemplo tiveres duas texbox's ele só te irá dar o valor da ultima que foi criada. Não sei como se escolhe o objecto :S

Penso que o "segredo" para resolver esse problema esta nesta linha ->hTextBox = FindWindowEx(lHwnd, 0, vbNullString, vbNullString), só que não sei procurar todos os handle de todos os objectos que estao na form :s

Bem... melhor que istu não sou capas de esplicar  :-[ . Desta materia tambem não sei muito, foi a primeira vez que fiz algo do genero  :P

P.S.

Não te esqueças de declarar as API's e as Constantes

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora