1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ajuda VB

Discussão em 'Programação' iniciada por 9374123, 17 de Outubro de 2008. (Respostas: 10; Visualizações: 789)

  1. Boas

    Preciso de uma ajudinha, tenho de fazer um programa, para me colocar um determinado valor, num campo de outro programa, é complicado fazer isso?

    Cumps
     
  2. Ruben_Barbosa

    Ruben_Barbosa Power Member

    neps é coisa mais Basica :D rapaz

    No modulo Escreves assim Public cod As String

    form1 fazes cod = Combo2(1).Text ou outra coisa qualquer
    no form2 que queres passar metes Combo2(1).Text = cod
     
  3. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Se for para outro form do mesmo programa, é com o Ruben disse.
    Se for para outro programa totalmente diferente, então não é mesmo nada trivial :P se tiveres sido tu a fazer esse outro programa, ainda pode ser que tentes arranjar forma de fazer ambos comunicarem, senão, não será mesmo nada fácil.
     
  4. Armadillo

    Armadillo Folding Member

    acho que é programa e não form. ;)
    Se for para colocar dados de um programa para outro, ja vai ter que recorrer á API do Windows, pelo VB

    Kay, nao é assim tao dificil. APenas terá que descobrir qual a janela do outro programa, e apanhar a textbox/whatever pelo handler, onde quer inserir o texto.
     
    Última edição: 17 de Outubro de 2008
  5. Boas

    Sim, é para inserior um determinado valor, num campo de um programa diferente, e nao é feito por mim.

    alguem me consegue uma ajudinha.

    Contudo, Obrigado pela ajuda

    Cumps
     
  6. Boas

    Alguem sabe a solução para isto?


    CUmps
     
  7. kazuza

    kazuza Power Member

  8. Boas

    Vi o programa mas ainda nao o percebi. No entanto obrigado.

    O que pretendo é um programa que me faça copy e depois paste, N vezes (por exemplo 40)

    Alguem sabe como fazer?

    Cumps
     
  9. fLaSh_CF

    fLaSh_CF Banido

    Hum.. é possivel..
    Mas isso depende muito do tipo de class handler da aplicação que pretendes fazer esse processo.. se for tipo static segnifica que o valor do handler é sempre o mesmo..
    Tens de abrir o "API Spy++" (utilitario que vem com o visual studio) captas o handler do objecto pretendido e verifica se ao reiniciar o aplicação o handler continua o mesmo..

    Se sim, estás com sorte, depois so tens de utilizar umas APIs do tipo Remote Process Injection.. convertes a string para bytes array .. e injectas os dados para o processo..

    Eu vou dar uma "vasculhada" nos meus arquivos (sei que tenho isso em algures) depois posto algo..

    Compr.
     
    Última edição: 24 de Outubro de 2008
  10. fLaSh_CF

    fLaSh_CF Banido

    Em um module poens isto:
    Código:
    Public Declare Function SendMessageByString Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
    
    No local prentendido corres esta API:
    Código:
    Call SendMessageByString(lngHwnd, &HC, 0&, strText)
    Parametros:
    Exemplo de um search por TextBox a partir do parent win (janela pricipal)
    Código:
    Function Search() As Long
     Dim ChildWin As Long
     Dim ParentWin As Long
     ParentWin& = FindWindow("ThunderRT6PictureBoxDC",vbNullString)
     ChildWin& = FindWindowEx(ParentWin&, 0&,"ThunderRT6TextBox",vbNullString)
     ChildWin = Search
    End Function
     
    [B]No module:[/B]
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
    Compr.
     
    Última edição: 26 de Outubro de 2008

Partilhar esta Página