jorruivo Posted August 13, 2006 at 11:16 AM Report #44052 Posted August 13, 2006 at 11:16 AM 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..
NuGuN Posted August 13, 2006 at 11:38 AM Report #44054 Posted August 13, 2006 at 11:38 AM 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
jorruivo Posted August 13, 2006 at 12:06 PM Author Report #44063 Posted August 13, 2006 at 12:06 PM 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..
NuGuN Posted August 13, 2006 at 09:46 PM Report #44164 Posted August 13, 2006 at 09:46 PM hhhhhmmmmm. Não sei o que é issu de "copy as hex string" 👍 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 😛 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 EDIT2: Já conssegui 👍 . Se precisares de ajuda diz 👍 Cumps
jorruivo Posted August 13, 2006 at 10:58 PM Author Report #44172 Posted August 13, 2006 at 10:58 PM sim...se puderes explica aí como se faz..agradecia muito dava-me muito jeito..
NuGuN Posted August 13, 2006 at 11:27 PM Report #44176 Posted August 13, 2006 at 11:27 PM 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.S. Não te esqueças de declarar as API's e as Constantes Cumps
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now