W Delphi używałem ShellExecute od lat do uruchamiania (i opcjonalnie oczekiwania) innych aplikacji. Teraz jednak muszę mieć jedną z tych aplikacji w jednym z moich formularzy aplikacji Delphi. Próbowałem kodu poniżej jako prosty test, aby otworzyć notatnik (co robi) i wyświetlić wynik w formularzu PAnel1 na moim formularzu (co nie robi). Czy jakaś dobra osoba może postawić mnie na właściwej drodze? DziękiJak uzyskać dostęp do innej aplikacji i wyświetlić ją w formularzu 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;
Co chcesz zrobić z głównym menu Notatnika? – Alex