Boa tarde,
Gente eu estou começando ainda a mexer no delphin e com programação então tenho umas duvidas meio bestas, estou trabalhando num projeto junto com um conhecido, eu estava fazendo os botões da aplicação e percebi que todos os botões mesmo com sites diferentes estão abrindo apenas o link do primeiro botao, porém buscando eu não encontrei nada parecido com isso, entao não sei onde eu errei.
unit Unit2;
interface
uses
Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, System.ImageList,
Vcl.ImgList, Vcl.ExtCtrls, ShellAPI, Vcl.ComCtrls ;
type
TForm2 = class(TForm)
ImageList1: TImageList;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
StatusBar1: TStatusBar;
Panel1: TPanel;
Button5: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(sender: TObject);
procedure Button3Click(sender: TObject);
procedure Button4Click(sender: TObject);
procedure Button5Click(sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
ShellExecute(Handle,'open','site1', '',nil,0);
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
ShellExecute(Handle,'open',site2', '',nil,0);
end;
procedure TForm2.Button3Click(Sender: TObject);
begin
ShellExecute(Handle,'open','site3', '',nil,0);
end;
procedure TForm2.Button4Click(Sender: TObject);
begin
ShellExecute(Handle,'open','site4', '',nil,0);
end;
procedure TForm2.Button5Click(Sender: TObject);
begin
WinExec('C:\Program Files (x86)\programa\programa.exe', SW_SHOW);
end;
end.
e no caso do Botao 5 eu queria fazer o programa abrir dentro do painel, porém não achei muito sobre isso, e queria saber se alguém tem alguma documentação e indicação sobre como fazer, pois eu percebi que teria que criar um subprocesso porém não achei muito sobre, mas o problema é que mesmo sem dar erro nenhum o programa não abre tentei das 2 formas mas em enhumas o programa abre, ja tentei inclusive usando um código pronto que afirmaram funcionar da calculadora.
ShellExecute(Handle, nil, 'C:\Program Files (x86)\programa.exe', nil, nil, SW_SHOWNORMAL )
WinExec('C:\Program Files (x86)\programa\programa.exe', SW_SHOW);
procedure TForm2.Button5Click(Sender: TObject);
var
Handle: THandle;
begin
Handle := FindWindow(nil, 'Calculadora');
if Handle > 0 then
Windows.SetParent(Handle, Panel1.Handle)
else
begin
WinExec(´calc.exe´, SW_SHOWDEFAULT);
Handle := FindWindow(nil, 'Calculadora');
if Handle > 0 then
Windows.SetParent(Handle, Panel1.Handle);
end;
end;