In Delphi ho utilizzato ShellExecute per anni per avviare (ed eventualmente attendere) altre applicazioni. Ora, però, ho bisogno di avere una di queste applicazioni in uno dei miei moduli di app Delphi. Ho provato il codice qui sotto come un semplice test per aprire il blocco note (che fa) e per visualizzare il risultato all'interno di PAnel1 sul mio modulo (che non funziona). Una persona gentile può mettermi sulla strada giusta? GrazieCome eseguire lo shell su un'altra app e visualizzarla in un formato delphi
var
Rec : TShellExecuteInfo;
wnd : HWnd;
const
AVerb = 'open';
AParams = '';
AFileName = 'Notepad.exe';
ADir = '';
begin
FillChar(Rec, SizeOf(Rec), #0);
Rec.cbSize := SizeOf(Rec);
Rec.fMask := SEE_MASK_NOCLOSEPROCESS;
Rec.lpVerb := PChar(AVerb);
Rec.lpFile := PChar(AfileName);
Rec.lpParameters := PChar(AParams);
Rec.lpDirectory := PChar(Adir);
Rec.nShow := sw_Show;
ShellExecuteEx(@Rec);
wnd := Windows.FindWindow('Notepad', nil);
Windows.SetParent(Wnd, PAnel1.Handle);
end;
Che cosa vuoi fare con il menu principale del Blocco note? – Alex