var
zAppName:array[0..512] of char;
zCurDir:array[0..255] of char;
WorkDir:String;
StartupInfo:TStartupInfo;
ProcessInfo:TProcessInformation;
FileName:String;
begin
FileName:='C:/Program Files/Borland/Delphi7/Projects/project12.exe';
StrPCopy(zAppName,FileName);
GetDir(0,WorkDir);
StrPCopy(zCurDir,WorkDir);
FillChar(StartupInfo,Sizeof(StartupInfo),#0);
StartupInfo.cb := Sizeof(StartupInfo);
StartupInfo.dwX := 0;
StartupInfo.dwY := 0;
StartupInfo.dwXSize := 800;
StartupInfo.dwYSize := 600;
StartupInfo.dwFlags := STARTF_USESIZE or STARTF_USEPOSITION ;
StartupInfo.wShowWindow := SW_SHOWDEFAULT ;
CreateProcess(nil,zAppName,nil,nil,false,0,nil,nil,StartupInfo,ProcessInfo);
end;
如果创建的进程不能指定位置和窗体大小,请检查 FileName:='C:/Program Files/Borland/Delphi7/Projects/project12.exe'主窗体的参数设置,其WindowsState应为wsNormal,Position应该为poDefault,
这样CreateProcess才能按照StartupInfo中设定的值来设置启动程序的位置和大小。