GARANTIR DESCONTO

Fórum Execultar programa externo #294623

05/09/2005

0

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


Sdph

Sdph

Responder

Posts

06/09/2005

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;



Responder

Gostei + 0

06/09/2005

Paullsoftware

[quote:1eef17a710=´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;
[/quote:1eef17a710]

cara legal, mais como faço pra que o programa já abra dentro do meu Panel por exemplo?


Responder

Gostei + 0

06/09/2005

Adriano Santos

[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.


Responder

Gostei + 0

06/09/2005

Martins

:(
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!!!!


Responder

Gostei + 0

06/09/2005

Adriano Santos

:( 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.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar