如题

解决方案 »

  1.   

    似乎还要结合SetWindowPos函数CSDN论坛浏览器:浏览、发帖、回复、结贴自动平均给分,下载地址:http://CoolSlob.ys168.com
      

  2.   

    ShellExecute(Handle,'open',PCHAR('C:\WINDOWS\system32\notepad.exe'),'','',SW_shownormal);
      

  3.   

    要看ShellExecute启动的是什么程序,如果启动的是固定的程序,用FindWindow获取到该程序的主窗体句柄,然后用SetWindowPos或MoveWindow调整窗体位置。
      

  4.   

    ShellExecute的最后一个参数用SW_shownormal,显示窗体,然后再按照老妖说的办法,调整位置,居中。
    大致思路如下:自己再改改吧。其实个人认为,你完全没有必要搞那么麻烦,把ShellExecute的最后一个参数设置成SW_SHOWMAXIMIZED,最大化不就可以了吗?当然,你可能有自己特殊的需求。
    procedure TForm1.Button1Click(Sender: TObject);
    var
     a : THandle;
     i,j : integer;
    begin
       //SW_shownormal
      ShellExecute(Handle,'open',PCHAR('C:\WINDOWS\system32\notepad.exe'),'','',SW_NORMAL);
      a := FindWindow('notepad',nil);
      //计算位置
      i :=Screen.Width div 2 - 250;
      j := screen.Height div 2 -250;
      if a <> 0 then
      MoveWindow(a,i,j,500,500,true) ;end;
      

  5.   

    看某人抢分,打得头破血流成河~CSDN论坛浏览器:浏览、发帖、回复、结贴自动平均给分,下载地址:http://CoolSlob.ys168.com