1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
procedure TMainform.Button3Click(Sender: TObject);
var
Rec: TShellExecuteInfo;
Hviewer : Hwnd;
nom : string;
const
AVerb = 'open';
begin
// lance styleviewer
// shell execute simple
//ShellExecute(WindowHandleToPlatform(Handle).Wnd, 'open',
// PChar(styleviewer),pchar(Opendialog.filename),
// '', SW_SHOWNORMAL) ;
// Supprime la barre de titre
//SetWindowLong(aHandle, GWL_STYLE, GetWindowLong(aHandle, GWL_STYLE) And Not WS_CAPTION);
//SetWindowPos(aHandle, 0, 0, 0, 0, 0, SWP_FRAMECHANGED Or SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOZORDER);
//
// // Assigne et maximise le prog externe au conteneur (un panel ici)
// Windows.SetParent(aHandle, presentedScrollbox1.Handle);
// SetForeGroundWindow(HandleViewver);
// ShowWindow(HandleViewver, SW_MAXIMIZE);
FillChar(Rec, SizeOf(Rec), #0);
Rec.cbSize := SizeOf(Rec);
Rec.fMask := SEE_MASK_NOCLOSEPROCESS;
Rec.lpVerb := PChar( AVerb );
Rec.lpFile := PChar( Styleviewer );
Rec.lpParameters := PChar( StyleName.Text );
Rec.lpDirectory := PChar('');
Rec.nShow := SW_SHOW;
ShellExecuteEx(@Rec);
WaitForInputIdle(Rec.hProcess, 5000);
// Hviewer := WinApi.Windows.FindWindow(???????, nil );
// WinApi.Windows.SetParent(HViewer,FormToHWindow(Mainform.Handle).wnd);
// Resize;
// ShowWindow(HViewer, SW_SHOW);
end; |
Partager