Execultar programa externo
Olá
para execultar programas externo utilizo a ShellApi: ex.
ShellExecute(0,´Open´,Pchar(´programa.exe´),nil,nil, SW_Show);
como faço para excultar este programa dentro da janela do meu programa.
A utilizo o Windows XP.
Desde já agradeço
para execultar programas externo utilizo a ShellApi: ex.
ShellExecute(0,´Open´,Pchar(´programa.exe´),nil,nil, SW_Show);
como faço para excultar este programa dentro da janela do meu programa.
A utilizo o Windows XP.
Desde já agradeço
Sdph
Curtidas 0
Respostas
Bruno Belchior
05/09/2005
Não sei se é exatamente o que procura, mas segue um exemplo com a calculadora...
var Handle: THandle; begin Handle := FindWindow(nil, ´Calculadora´); if Handle > 0 then Windows.SetParent(Handle, Panel1.Handle); end;
GOSTEI 0
Paullsoftware
05/09/2005
[quote:1eef17a710=´Bruno Belchior´]Não sei se é exatamente o que procura, mas segue um exemplo com a calculadora...[/quote:1eef17a710]
cara legal, mais como faço pra que o programa já abra dentro do meu Panel por exemplo?
var Handle: THandle; begin Handle := FindWindow(nil, ´Calculadora´); if Handle > 0 then Windows.SetParent(Handle, Panel1.Handle); end;
cara legal, mais como faço pra que o programa já abra dentro do meu Panel por exemplo?
GOSTEI 0
Adriano Santos
05/09/2005
[quote:1e36d7023d=´Bruno Belchior´]Não sei se é exatamente o que procura, mas segue um exemplo com a calculadora...
var Handle: THandle; begin Handle := FindWindow(nil, ´Calculadora´); if Handle > 0 then Windows.SetParent(Handle, Panel1.Handle); end;
cara legal, mais como faço pra que o programa já abra dentro do meu Panel por exemplo?[/quote:1e36d7023d]
Fiz um teste aqui e precisa dar um ´tempinho´ para que a função FindWindow encontre o programa especificado, olha:
var Handle: THandle; begin Handle := FindWindow(nil, ´Calculadora´); Sleep(1000); //adicionei esta linha, só pra dar um pause if Handle > 0 then Windows.SetParent(Handle, Panel1.Handle); end;
Daí funcionou beleza.
GOSTEI 0
Martins
05/09/2005
:(
Desculpem!!!!!
Devo ter entendido errado ou feito algo errado, pq pelo q entendi o colega quer saber como ele abri a calculadora já dentro do panel, pq a função passada pelo [b:e050743c9a]Bruno[/b:e050743c9a], apenas a copia para o panel se ela estiver aberta, pq assim é possível para o sistema ver o nome da janela.
Se não isso, desculpem!!!
Boa Sorte!!!!
Desculpem!!!!!
Devo ter entendido errado ou feito algo errado, pq pelo q entendi o colega quer saber como ele abri a calculadora já dentro do panel, pq a função passada pelo [b:e050743c9a]Bruno[/b:e050743c9a], apenas a copia para o panel se ela estiver aberta, pq assim é possível para o sistema ver o nome da janela.
Se não isso, desculpem!!!
Boa Sorte!!!!
GOSTEI 0
Adriano Santos
05/09/2005
:(
Desculpem!!!!!
Devo ter entendido errado ou feito algo errado, pq pelo q entendi o colega quer saber como ele abri a calculadora já dentro do panel, pq a função passada pelo [b:9ed8c3d007]Bruno[/b:9ed8c3d007], apenas a copia para o panel se ela estiver aberta, pq assim é possível para o sistema ver o nome da janela.
Se não isso, desculpem!!!
Boa Sorte!!!!
[b:9ed8c3d007]Martins[/b:9ed8c3d007] o codigo do [b:9ed8c3d007]Bruno[/b:9ed8c3d007] faz isso mesmo que vc mencionou, mas como demora alguns milisegundos para o FindWindow encontrar a janela se não colocar um Sleep a janela do aplicativo aberto não será ´movida´. O ideal, claro, seria já abrir o programa dentro do Panel do software em questão.
GOSTEI 0