unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class(TForm) Button1: TButton; Button2: TButton; OpenDialog1: TOpenDialog; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure OpenDialog1Show(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; implementation uses CreateProcessUnit; {$R *.dfm} procedure TForm2.Button1Click(Sender: TObject); begin testEasyCreateProcessCmd; end; procedure TForm2.Button2Click(Sender: TObject); begin OpenDialog1.Execute; end; procedure TForm2.OpenDialog1Show(Sender: TObject); var Rect1: TRect; DialogWidth, DialogHeigh: Integer; begin GetWindowRect(GetParent(TOpenDialog(Sender).Handle), Rect1); DialogWidth := Rect1.Right - Rect1.Left; DialogHeigh := Rect1.Bottom- Rect1.Top; MoveWindow(GetParent(TOpenDialog(Sender).Handle), Trunc((Width-DialogWidth)/2) + Left, Trunc((Height-DialogHeigh)/2) + Top, DialogWidth, DialogHeigh, true); //開いたダイアログの親Formの中心に表示するようにしている Abort; //このAbortが無いと動作しない。 end; end.