CreateProcess StartupInfo 改变外部程序窗口的起始位置和大小

 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中设定的值来设置启动程序的位置和大小。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值