api do windows
17/01/2006
0
e depois uma funcao que conseguisse ler essa string da memoria e colar em um edit de outra aplicacao???
seria possivel fazer isso? como??
se alguem tiver algum material sobre a api do windows por favor me de um toque onde posso conseguir
abraços!!!!!!!!!!!!!!!
Rafael Gomes
Posts
17/01/2006
Rafael Gomes
ola michael, se nao estou enganado, para que funcione perfeitamente preciso que a aplicacao que vai receber os textos tenh o componente ´Receiver´ certo???
mas se a aplicacao nao tiver, caimos no mesmo problema que os colegas estavam tentando resolver ... mas mesmo assim, muito boa a dica
obrigado ...
ainda continuo tentando achar uma forma de encontrar a aplicacao, e dentro da aplicacao achar uma janela filha ... pelos nomes ....
abraços
obrigado a todos que estao contribuindo!!
18/01/2006
Rafael Gomes
bom amigo, testei ... o programa funciona perfeitamente ... realmente muito bom ... agora vou tentar continuar a implementacao com as informacoes que o programa me forneceu, qualquer coisa corro aqui pro forum pra ver se voces podem me ajudar ...
mais uma vez, obrigado aos que colaboraram ...
[]ss
18/01/2006
Rafael Gomes
estou utilizando o seguinte codigo para enviar o texto ... mas o mesmo nao esta funcionando ...
procedure TForm1.Button1Click(Sender: TObject); var wnd : HWND; c : HWND; i : Integer; s : string; begin wnd := FindWindow(´MdiFrame´,nil); if wnd <> 0 then begin c:= GetWindow(wnd,GW_CHILD); wnd := FindWindowEx(wnd,c,´MdiEmuchild´,nil); s := ´texto´; For i := 1 to Length(s) do SendMessage(wnd, WM_CHAR, Word(s[i]), 0); PostMessage(wnd, WM_KEYDOWN , VK_RETURN, 0); {Simular o enter} PostMessage(wnd, WM_KEYDOWN , VK_SPACE, 0); {Simular o espaço} end; end;
[b:10a4e8440f]informacoes da janela principal do programa ...[/b:10a4e8440f]
*** Window Information ********************************************************* Text Irma Mainframe Display Process ID 00000998 App instance 171F1576 Handle 00010410 Parent handle 00000000 Control ID 0031032D Function 00000000 Menu handle 0031032D Coords in parent left:-4, top:-4, right:1028, bottom:744 Coords in screen left:-4, top:-4, right:1028, bottom:744 Window size width:1032, height:748 Client area size width:1024, height:702 Style 17CF0000 Extended style 00000100 ws_overlapped | ws_visible | ws_clipsiblings | ws_clipchildren | ws_maximize | ws_border | ws_dlgframe | ws_sysmenu | ws_thickframe | ws_minimizebox | ws_maximizebox | ws_ex_windowedge | ws_ex_left | ws_ex_ltrreading | ws_ex_rightscrollbar *** Class Information ********************************************************** Name MdiFrame Function D6810820 Icon 000303A3 Small icon 000803E3 Cursor 00010011 Bkg brush 0000000D Module handle 171F1576 Style 00000003 cs_vredraw | cs_hredraw *** Parents ******************************************************************** # Handle Class name Text *** Children ******************************************************************* Handle Class name Text 001 00010412 MDIClient 002 00010416 ATC_DockWindow 003 0001041C DCAStatusBar *** Digger ********************************************************************* # Handle Class name Text 001 00010410 MdiFrame Irma Mainframe Display 002 000100BE SysListView32 FolderView 003 000100BC SHELLDLL_DefView 004 000100B6 Progman Program Manager *** Executable Information ***************************************************** File path C:\WINDOWS\system32\ File name ntvdm.exe Original file name NTVDM.EXE File description NTVDM.EXE File version 5.1.2600.2180 (xpsp_sp2_rtm.040803-2158) Product name Sistema operacional Microsoft® Windows® Internal name NTVDM.EXE Legal copyright © Microsoft Corporation. Todos os direitos reservados. Legal trademarks Product version 5.1.2600.2180 Company name Microsoft Corporation Comments
[b:10a4e8440f]informacoes da janela filha ...[/b:10a4e8440f]
*** Window Information ********************************************************* Text Untitled:1* [A] Process ID 00000998 App instance 171F1576 Handle 001603A6 Parent handle 00010412 Control ID 00009000 Function 00000000 Menu handle 00000000 Coords in parent left:-4, top:-23, right:1028, bottom:653 Coords in screen left:-4, top:45, right:1028, bottom:721 Window size width:1032, height:676 Client area size width:1024, height:649 Style 57C70000 Extended style 00000140 ws_overlapped | ws_child | ws_visible | ws_clipsiblings | ws_clipchildren | ws_maximize | ws_border | ws_dlgframe | ws_thickframe | ws_group | ws_tabstop | ws_ex_mdichild | ws_ex_windowedge | ws_ex_left | ws_ex_ltrreading | ws_ex_rightscrollbar *** Class Information ********************************************************** Name MdiEmuChild Function D6590000 Icon 000303A3 Small icon 000F03CD Cursor 00010011 Bkg brush 01900011 Module handle 171F1576 Style 0000002B cs_vredraw | cs_hredraw | cs_dblclks | cs_owndc *** Parents ******************************************************************** # Handle Class name Text 001 00010412 MDIClient 002 00010410 MdiFrame Irma Mainframe Display - [ Un... *** Children ******************************************************************* Handle Class name Text 001 00140368 EmuStatus *** Digger ********************************************************************* # Handle Class name Text 001 001603A6 MdiEmuChild Untitled:1* [A] 002 00010412 MDIClient 003 00010410 MdiFrame Irma Mainframe Display - [ Un... 004 000202BA TEditControl 005 000202BC TPanel 006 000202B8 TPanel 007 00050274 TPanel 008 000302AE TPanel 009 00040292 TPanel 010 00030288 TEditWindow Unit1.pas 011 000102C8 TForm1 Form1 012 000100BE SysListView32 FolderView 013 000100BC SHELLDLL_DefView 014 000100B6 Progman Program Manager *** Executable Information ***************************************************** File path C:\WINDOWS\system32\ File name ntvdm.exe Original file name NTVDM.EXE File description NTVDM.EXE File version 5.1.2600.2180 (xpsp_sp2_rtm.040803-2158) Product name Sistema operacional Microsoft® Windows® Internal name NTVDM.EXE Legal copyright © Microsoft Corporation. Todos os direitos reservados. Legal trademarks Product version 5.1.2600.2180 Company name Microsoft Corporation Comments
para quem teve paciencia de ver o topico até aqui ...
a estrutura do programa para o qual preciso enviar o texto é a seguinte ...
existe a aplicacao principal ... que é de classe [b:10a4e8440f]MdiFrame[/b:10a4e8440f]
dentro dessa janela existe um ´componente´ de classe [b:10a4e8440f]MdiClient[/b:10a4e8440f]
ao que me parece, quando se abre a janela filha de classe [b:10a4e8440f]MdiEmuChild [/b:10a4e8440f] ela fica dentro de MdiClient que por sua vez esta dentro de MdiFrame ...
:cry:
se alguem tiver alguma sugestao ... eu agradeceria MUITO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
18/01/2006
Rafael Gomes
nao estou apenas upando meu topico ... :oops:
segue abaixo a hierarquia das janelas do programa para o qual preciso enviar os textos ...
[b:f9b7f8a139]screen da hierarquia das janelas!!![/b:f9b7f8a139]
[img:f9b7f8a139]http://www.ellas.com.br/fcunha/imagem.jpg[/img:f9b7f8a139]
[b:f9b7f8a139]screen das telas do programa [/b:f9b7f8a139]
[img:f9b7f8a139]http://www.ellas.com.br/fcunha/imagem2.jpg[/img:f9b7f8a139]
[img:f9b7f8a139]http://www.ellas.com.br/fcunha/imagem3.jpg[/img:f9b7f8a139]
é isso ... aguardo a contribuicao dos amigos ...
[]s
Clique aqui para fazer login e interagir na Comunidade :)