如何把一个已有程序放到我自己程序的指定位置上。去掉标题栏(200分)

  • 主题发起人 主题发起人 Laird
  • 开始时间 开始时间
L

Laird

Unregistered / Unconfirmed
GUEST, unregistred user!
如将d:/abc.exe加载到form1.panel1上<br>仅仅是把已有程序加进去。我的程序不对其有任何操作
 
我也想知道
 
&nbsp;Windows.SetParent(FindWindow(Nil,'计算器'),Panel1.Handle);<br>
 
可不可以将标题栏去掉
 
我只研究下面这么多,其它你自已看看吧<br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br>HWndCalculator : HWnd;<br>begin<br>WndCalculator := windows.FindWindow(nil, '计算器'); <br>if HWndCalculator &lt;&gt; 0 then<br>SetWindowLong(HWndCalculator,GWL_STYLE,GetWindowLong(Handle,GWL_STYLE) and (not WS_CAPTION));<br>&nbsp; Height:=ClientHeight;<br>// &nbsp;Width:=ClientWidth;<br>end;
 
&nbsp;SetWindowLong(a,GWL_STYLE,GetWindowLong(a,GWL_STYLE) and (not WS_CAPTION));<br>
 
直接SetParent过去,比较简单<br>但如果你还要把Caption去掉之类的动作,就要进一步研究了。 :)<br><br>uses<br>&nbsp; ShellApI;<br><br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br>&nbsp; HWnd: THandle;<br>begin<br>&nbsp; HWnd := FindWindow(nil, 'Untitled - Notepad');<br>&nbsp; if HWnd &lt;&gt; 0 then<br>&nbsp; begin<br>&nbsp; &nbsp; Windows.SetParent(HWnd, Panel1.Handle);<br>&nbsp; &nbsp; SetWindowPos(Hwnd, 0, 0, 0, Panel1.ClientWidth, Panel1.ClientHeight, 0);<br>&nbsp; end;<br>end;<br><br>procedure TForm1.Button2Click(Sender: TObject);<br>begin<br>&nbsp; ShellExecute(Handle, 'open', 'Notepad.exe', nil, nil, 1);<br>end;<br><br>
 
后退
顶部